Подтвердить что ты не робот

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

Я могу обновить статус на моей стене PROFILE, используя этот код:

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

Этот код, однако, не работает, чтобы обновить статус на моей Стене страницы PAGE. Существуют ли дополнительные параметры, которые я могу добавить в ur Authorize.php, чтобы указать авторизацию PAGE, а не только мой профиль?

Или есть ли способы опубликовать обновления на стенах Стены вентилятора?

Спасибо!

4b9b3361

Ответ 1

Я решил проблему, обратившись к документации для настольных приложений Facebook (даже если это веб-приложение).

Мне сначала пришлось авторизовать автономный доступ с этим URL (заменяя "MYAPIKEY" ): http://www.facebook.com/login.php?api_key=MYAPIKEY&connect_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" на PAGE с этим URL (заменяя "MYAPIKEY" и "THEPAGEID" ): http://www.facebook.com/connect/prompt_permissions.php?api_key=MYAPIKEY&v=1.0&next=http://www.facebook.com/connect/login_success.html?xxRESULTTOKENxx&display=popup&ext_perm=publish_stream&enable_profile_selector=1&profile_selector_ids=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);
}

Ответ 2

Исходя из вышесказанного, я опробовал пару параметров запроса на 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 = [id страниц]

EDIT: неважно, приведенное выше отображает весь пользовательский интерфейс правильно, но все равно получите "(# 200). Пользователь не разрешил приложению выполнять это действие" ошибка --- он очищает, что он не работает, потому что токен доступа содержит мой идентификатор пользователя, но не идентификатор страницы.