FB Graph API разместил на стене одной из моих страниц

0

Я не понимаю, является ли API FB очень глупым или мое восприятие API не подходит для этого. Моя цель очень проста. У меня есть CMS. Когда я создаю новости с моей страницы администратора CMS, я также хочу опубликовать ее на моей странице в facebook. Этот API раздражает меня! Вот мой код;

$s = FacebookSession::setDefaultApplication('appid', 'secret'); 
$session = FacebookSession::newAppSession();

// when I use belowed two line, I'm getting error
//$request = new FacebookRequest($session, 'GET', '/me'); 
//$pageList = $request->execute()->getGraphObject()->asArray(); 
$session = new FacebookSession('I don't know what to write here? I have a session already? When I use the access token which taken from api explorer page, due to it life is short, I'm getting also error.'); 
$page_post=(new FacebookRequest( $session, 'POST','/<my_page_id_not_my_profile_id>/feed', array(
                    'access_token' => 'die!!! one more token! what is this!',
                    'link' => 'link',
                    'message' => 'message', ) ))->execute()->getGraphObject()->asArray();

ПРИМЕЧАНИЕ. Мне не нужны всплывающие окна для входа или другого метода. Я хочу, чтобы просто невинный API использовал сладко, как твиттер...

Теги:
session
facebook
facebook-graph-api

1 ответ

0

API Facebook работает очень похоже на Twitter. Вы не можете просто публиковать в Твиттере только сеанс приложения, вам нужно авторизовать пользователя.

Так как на Facebook есть профили пользователей и страницы, есть токены доступа и токены доступа к странице. Вам нужен токен доступа к странице, и вы получаете его, авторизуя пользователя с вашим приложением, чтобы получить токен пользователя и вызов конечной точки /me/accounts чтобы получить токены для всех страниц, которыми вы управляете. Кроме того, вам необходимо авторизовать пользователя с разрешениями publish_actions и manage_pages. После этого вы можете использовать конечную точку /page-id/feed с этим токеном для публикации на странице "Страница".

Вот дополнительная информация о токенах доступа, что вам нужно конкретно - это "расширенный токен страницы", который длится вечно:

  • 0
    «То, что вам нужно, это токен доступа к странице ...» этот токен недолгим. Я думаю, я могу получить это в моем сеансе от вызова другого запроса динамически в моем коде, а не копировать вставить.
  • 0
    нет, маркер расширенной страницы действителен навсегда, как я написал. проверьте ссылки для получения информации о том, как создать расширенную.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню