Как получить токен доступа к приложениям через PHP PHP SDK?
Я пытаюсь получить токен доступа к приложениям для отправки уведомлений, но по какой-то причине он не работает. Здесь код:
$AppParams = array(
'client_id' => 'myclientid',
'&client_secret' => 'myclientsecret',
'&grant_type' =>'client_credentials'
);
$AppToken = $facebook->api('oauth/access_token?', 'GET', $AppParams);
Я также заменил первую часть на полную ссылку oauth/accesstoken, но затем она возвращает мне общую информацию о oauth и их странице на facebook, чего я не хочу.
Я сделал почти то же самое на С#, и там он работает.
Ответы
Ответ 1
Вам действительно не нужно запрашивать токен доступа к приложениям. Вы можете просто собрать его самостоятельно.
Маркер доступа к приложениям форматируется следующим образом:
app_id|app_secret
Это идентификатор приложения, символ канала |
и секрет приложения.
Убедитесь, что этот токен приложения недоступен для ваших пользователей! Используйте и ссылайтесь только на серверный сервер - никогда не передавайте это клиенту. Для получения дополнительной информации ознакомьтесь с последними предложениями в соответствующей документации.
Ответ 2
С версией 5 SDK вы можете получить токен доступа с помощью метода accessToken()
FacebookApp
. Если у вас есть экземпляр Facebook
, как вы обычно это делаете, вы можете получить его так:
$fb->getApp()->getAccessToken()
Когда я хочу использовать свой собственный токен доступа к приложениям, я создаю API таким образом. Я не знаю, есть ли более чистый способ.
$fb = new \Facebook\Facebook([
'default_graph_version' => 'v2.8',
]);
$fb->setDefaultAccessToken($fb->getApp()->getAccessToken());
Ответ 3
Заменить -
'&client_secret' => 'client_secret'
'&grant_type' => 'grant_type'