Я в состоянии обновить состояние на своей стене ПРОФИЛЯ с помощью этого кода:
require_once 'facebook-platform/php/facebook.php';
$facebook = new Facebook('APP API KEY','APP SECRET KEY');
$user_id = 'MY USER ID';
$facebook->api_client->users_setStatus('This is a new status');
... после авторизации использования этого адреса: http://facebook.com/authorize.php?api_key=MYAPPAPIKEY&v=1.0&ext_perm=publish_stream
Этот код, однако, не работает для обновления состояния на моей Стене СТРАНИЦЫ Facebook. Есть ли дополнительные параметры, которые я могу добавить к authorize.php URL для определения авторизации СТРАНИЦЫ и не только моего профиля?
Или, есть ли лучшие способы отправить обновления Стен Фан-страницы?
Спасибо!
Я решил проблему, консультируясь на документацию на рабочий стол Facebook (даже если это веб-приложение).
Сначала я должен был разрешить автономным доступом с этим URL-адресом (замена «MyApikey»): http://www.facebook.com/login.php?api_key=myapikey&cconnect_display=popup&v=1.0&next=http://www.facebook.com/connect/login_success.html&cancel_url=http://www.facebook. com / connect / login_failure.html & fbconnect = true & return_session = true & session_key_only = true & req_perms = read_stream, publish_stream, offline_access
Тогда мне нужно было предоставить разрешения «publish_stream» на страницу с этим URL-адресом (замена 'myapikey' и 'thepageId'): http://www.facebook.com/connect/proompt_permissions.php?api_key=myapikey&v=1.0&next=http://www.facebook.com/connect/login_success.html?xxresultteblexxx&display=popup&ext_perm=publish_stream&enable_profile_Идс=1 ThePageID
Я мог бы использовать следующий код для публикации на стену вентилятора:
require_once 'facebook-platform/php/facebook.php';
$facebook = new Facebook(MYAPIKEY, MYAPISECRET);
try{
$facebook->api_client->stream_publish('INSERT_STATUS_HERE',null,null,null,'THEPAGEID');
}catch(Exception $o ){
print_r($o);
}
На основании вышеизложенного я опробовал пару параметров строки запроса на URL-адресе авторизации API графа, и, похоже, это работает:
РЕДАКТИРОВАТЬ: Неважно, выше отображается весь пользовательский интерфейс правильно, но все равно отображается "(# 200) Пользователь не указал «Не разрешено приложению выполнить это действие» ошибка - ясно, что это не работает, потому что токен доступа содержит мой идентификатор ПОЛЬЗОВАТЕЛЯ, но не идентификатор страницы.