Как получить / использовать токен доступа пользователя для Facebook Open Graph (в качестве задания cron)?

Я использую следующий код с Facebook PHP-SDK для доступа к каналу страницы:

require 'facebook.php';

$facebook = new Facebook(array(
  'appId'  => 'xxxxxx',
  'secret' => 'yyyyy',
));

$feed = $facebook->api("/page_id/posts");

Работает нормально. Код используется в задании cron на веб-сервере для автоматического и периодического получения каналов страниц, поэтому пользователь не может входить или выходить из системы.

Если я распечатываю код доступа с помощью $facebook->getAccessToken(), я вижу, что код доступа на самом деле является "токеном доступа к приложению". (Пожалуйста, обратитесь к https://developers.facebook.com/docs/facebook-login/access-tokens/, есть четыре вида токенов доступа)

Что, если я хочу использовать "токен доступа пользователя" вместо этого в таком задании cron (без физического пользователя для входа в систему), как это сделать? Является ли это возможным?

Благодарю.

1 ответ

Расширение токена доступа пользователя

Вы можете обменять токен доступа пользователя с long-lived срок действия токена доступа (2 месяца). Перейдите по ссылке, чтобы получить долгоживущий токен. Но затем вы должны обновить токен через 60 дней тем же процессом входа в систему.

Расширение токенов

Расширение токена доступа к странице

В качестве альтернативы вы можете иметь never Я полагаю, что токен для вашей фан-страницы истекает, это тоже решит вашу проблему. Чтобы получить этот токен

Выполните следующий вызов с использованием токена доступа долгоживущего пользователя -

    $facebook->api("/PAGE_ID?fields=access_token");

(Вы можете использовать инструмент отладки Facebook, чтобы проверить действительность токена)

Другие вопросы по тегам