Подтвердить что ты не робот

Как получить токен доступа к приложениям через 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, чего я не хочу. Я сделал почти то же самое на С#, и там он работает.

4b9b3361

Ответ 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'