Facebook Oauth Access Token Различные при использовании Graph API Explorer

(Отказ от ответственности: access_tokens и appIds в этом сообщении являются поддельными и просто предназначены для реального поиска)

Я пытаюсь создать access_token, используя вызов следующего:

https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=123456789000000&client_secret=03252f2ff1eddffe234a0dc7256abb8c

Это дает мне access_token в этом формате:

access_token = 123456789000000 | TR528Smvi4AXMM21Zhmi5XmJwmk

Если я попытаюсь получить доступ к странице поклонника, защищенной этим токеном, как это, я вернусь назад: http://graph.facebook.com/109813019043531?access_token=123456789000000|TR528Smvi4AXMM21Zhmi5XmJwmk

Теперь, если я использую API-интерфейс Graph API и выбираю то же приложение, что и тот, который я использую выше для создания токена доступа, я получаю токен доступа, который выглядит следующим образом:

ABBDSqE43jFSSbrS7ujvyLZClfyKDCZBhAuLXTtr9nwelj4MFwlijzejljEoNItC3lijzm3shemzq3jDFCdAZD

Если я использую этот токен доступа для доступа к URL-адресу (http://graph.facebook.com/109813019043531), он работает так, как ожидалось.

Мой вопрос в том, в чем разница между ними и как я могу программно генерировать тот, который работает как второй токен?

Ответ 1

Первый, который вы показываете, - токен доступа APP. Второй из Graph API Explorer является токеном доступа USER. Существует третий тип, называемый токеном доступа PAGE. Каждый делает что-то другое.

Точки доступа APP используются для получения информации, доступной для вашего приложения. И в некоторых случаях, когда publish_stream предоставляется от пользователя приложения, вы можете использовать его для публикации на эту пользовательскую стену, не требуя токена доступа USER.

Точки доступа USER предоставляются вашему приложению, и они относятся к разрешениям, предоставленным определенным пользователем приложения для вашего приложения, чтобы приложение могло действовать от их имени.

Значки доступа PAGE предоставляются администраторам страниц, чтобы они могли действовать от имени страницы. Чтобы перейти от токена доступа к токену доступа к странице, вызовите /me/accounts с помощью токена доступа пользователя, чтобы получить список страниц, которые они администрируют вместе с каждым типом доступа к страницам.

Если у вас есть токен доступа, и вы хотите узнать больше об этом, добавьте его в https://developers.facebook.com/tools/lint

Для получения дополнительной информации о токенах доступа см. https://developers.facebook.com/docs/authentication