Fb graphapi: публикация на стене FB Page с другого сайта

StackOverflow https://stackoverflow.com/questions/4609179

  •  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, есть пара шагов, чтобы сделать это:

  1. Админ страницы должен установить ваше приложение с разрешения manage_pages, ссылка. Отказ А также publish_stream Для шага 3.
  2. Теперь запросить метод учетных записей ->api('/me/accounts?access_token=XXX') С помощью Access_Token вы только что получили, извлеките все ваши страницы (учетные записи) со своим соответствующим Access_Token
  3. Используйте страницу Access_Token для сообщение Ваши «новости» на вашу страницу ->api('/page_id/feed', 'post', $postArr)

Доступны почти же инструкции здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top