#php #facebook #facebook-graph-api
#php #Facebook #facebook-graph-api
Вопрос:
В принципе, у меня есть веб-приложение, которое будет размещать ссылки на facebook страницу (не профиль) стены.
Насколько я знаю, для этого мне нужен постоянный токен. Twitter выдает мне ссылку прямо из учетной записи, поэтому я надеялся, что facebook будет иметь что-то подобное. Однако токен, который я получаю с manage_pages
разрешением, имеет срок действия.
Из документов по аутентификации это то, что я делал:
запрашивать токен для управления страницами:
https://www.facebook.com/dialog/oauth?client_id=123456789123amp;redirect_uri=http://myapp.com/fbamp;scope=manage_pagesamp;response_type=token
верните токену URL, который я собираюсь вставить в конфигурацию моих приложений:
http://myapp.com/fb#access_token=123123123123123|2.18VYbalblablablaswhg__.3600.1304294400.1-615173155|Tzb_U9ma0LIPJXNzqsZ_xUJpfn8amp;expires_in=4205
Когда я на самом деле пытаюсь опубликовать на странице с этим, я получаю ошибку с истекшим сроком действия.
$post_params = array(
'access_token' => self::$page_token,
'message' => $string
);
$response = $fb_app->api('/'.self::$page_id.'/feed','POST', $post_params);
Ответ №1:
Для получения постоянного токена вам необходимо разрешение offline_access. Если вы собираетесь публиковать как саму страницу, вам нужно получить токен из /USER_ID /accounts для этой страницы, иначе вы будете публиковать из своего профиля. Если вы не собираетесь публиковать как страницу, вам на самом деле не нужно разрешение manage_pages, publish_stream для пользователя достаточно. Удачи.
Комментарии:
1. Это действительно всплывающее окно со страницей, запрашивающей постоянный доступ. Но я получил ошибку # 200 (не авторизован), когда попытался опубликовать на стене pages с помощью токена доступа к странице, который я приобрел у / me / accounts.
2. Ах, мне тоже нужно было иметь publish_stream. Итак, в параметре scope у меня теперь есть
publish_stream,offline_access,manage_pages
.