Fb graphapi: публикация на стене FB Page с другого сайта
-
25-09-2019 - |
Вопрос
Я создаю CMS для веб-сайта и хочу добавить функциональные возможности что-то публиковать (например: новости) на страницу FB этой веб-сайта [не в профиль пользователя].
Я прочитал документацию FB, и смогу найти, что мне нужно иметь приложение FB, которое должно иметь доступ к этой странице. Тогда я смогу аутентифицироваться с моего сайта в качестве приложения и опубликовать ссылку на странице.
Я создал образец страницы и пустой Приложение (без рабочего кода). Тогда у меня есть добавлен Это на страницу [на странице профиля приложений есть кнопка «Добавить на мою страницу»]. Приложение никогда не запрашивало никаких разрешений, и, на самом деле, я не знаю, как я могу «заставить» мое приложение запросить разрешения с страницы ...
Теперь, с моего сервера я аутентифицируюсь как приложение:
$postArr = Array(
'grant_type'=>'client_credentials',
'scope'=>'publish_stream',
'client_id'=>$appId,
'client_secret'=>$appSecret
);
$access_token = CURL_post('https://graph.facebook.com/oauth/access_token',$postArr,true);
Я получаю токен доступа и попробуйте опубликовать на стене страницы:
$postArr = Array(
'access_token'=>$access,
'message'=>"Message!",
'link'=>'http://egern.net/',
'name'=>"TITLE",
'caption'=>"TITLE2!");
$r = CURL_post("https://graph.facebook.com/MYPAGEID/feed",$postArr,true);
Я получаю последую ошибки: (# 200) Пользователь не авторизовал приложение для выполнения этого действия
Теперь я не могу понять: как страница должна авторизовать заявку?
Спасибо.
Решение
Чтобы иметь возможность публиковать на вашей странице, используя графический API, есть пара шагов, чтобы сделать это:
- Админ страницы должен установить ваше приложение с разрешения
manage_pages
, ссылка. Отказ А такжеpublish_stream
Для шага 3. - Теперь запросить метод учетных записей
->api('/me/accounts?access_token=XXX')
С помощью Access_Token вы только что получили, извлеките все ваши страницы (учетные записи) со своим соответствующим Access_Token - Используйте страницу Access_Token для сообщение Ваши «новости» на вашу страницу
->api('/page_id/feed', 'post', $postArr)
Доступны почти же инструкции здесь.