Arhn - архитектура программирования

Как опубликовать сообщение на фан-странице facebook с веб-сайта с PHP?

Мне нужно опубликовать статью сразу после того, как пользователь создаст ее на своем бэкэнде. Я использую sdk-php с этим скриптом:

require 'facebook-php-sdk/src/facebook.php';

$config = array(
    'appId' => 'xxxxxxxxxxxxxxxxxxxxxxxx',
    'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    'allowSignedRequest' => false 
  );

  $facebook = new Facebook($config);
  $params = array(
  "access_token" => "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "message" => "Message",
  "link" => "http://www.myarticle.com",
  "picture" => "http://www.myarticle.com/img1.png",
  "name" => "Name",
  "caption" => "Caption",
  "description" => "Description."
);

// post to Facebook

try {
  $result = $facebook->api('/THE_PAGE_ID/feed', 'POST', $params);
  echo 'Successfully posted to Facebook';
} catch(Exception $e) {
  echo $e->getMessage();
}

Этот сценарий иногда работает, а иногда нет, и возникает исключение «Ошибка проверки токена доступа: это может быть связано с выходом пользователя из системы или системной ошибкой». а иногда пост создается как «/me» на The_Page_wall. Любая идея?



Ответы:


1

Я предполагаю, что вы используете так называемый недолговечный токен доступа пользователя. Получите обзор различных видов токенов доступа здесь:

https://developers.facebook.com/docs/facebook-login/access-tokens/

Я думаю, у вас есть два сценария здесь:

  1. Обменяйте свой недолговечный токен через эту конечную точку на долгоживущий (60 дней): https://developers.facebook.com/docs/facebook-login/access-tokens/#extending
  2. Используйте токены доступа к странице, если вам нужны не сообщения, публикуемые реальным пользователем, а сама страница: https://developers.facebook.com/docs/facebook-login/access-tokens/#pagetokens
19.03.2014
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..