Авторизация фан-страницы Facebook для обновлений статуса

Я в состоянии обновить состояние на своей стене ПРОФИЛЯ с помощью этого кода:

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 для определения авторизации СТРАНИЦЫ и не только моего профиля?

Или, есть ли лучшие способы отправить обновления Стен Фан-страницы?

Спасибо!

10
задан Chris Voth 19 January 2010 в 22:30
поделиться

2 ответа

Я решил проблему, консультируясь на документацию на рабочий стол 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);
}
21
ответ дан 3 December 2019 в 18:33
поделиться

На основании вышеизложенного я опробовал пару параметров строки запроса на URL-адресе авторизации API графа, и, похоже, это работает:

https://graph.facebook.com/oauth / authorize? client_id = [APP_ID] & redirect_uri = [REDIRECT_URL] & scope = publish_stream & enable_profile_selector = 1 & profile_selector_ids = [PAGE_IDS]

РЕДАКТИРОВАТЬ: Неважно, выше отображается весь пользовательский интерфейс правильно, но все равно отображается "(# 200) Пользователь не указал «Не разрешено приложению выполнить это действие» ошибка - ясно, что это не работает, потому что токен доступа содержит мой идентификатор ПОЛЬЗОВАТЕЛЯ, но не идентификатор страницы.

0
ответ дан 3 December 2019 в 18:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: