Как получить / использовать токен доступа пользователя для 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, чтобы проверить действительность токена)