Я хочу указать, что вроде было сказано в блоге Бена Биддингтона, и что я заметил, посмотрев на «искаженный» access_token в первоначальном вопросе. Другие говорили подобные вещи в этой теме, но я хочу быть явным.
Токен на самом деле не деформирован, а скорее токен, который позволяет вам выполнять действия от имени приложения, а не от пользователя. Это маркер, который вы будете использовать, если хотите получить информацию обо всех пользователях приложения или просмотреть информацию о вашем приложении и т. Д., Причем запросы обычно поступают с вашего сервера, а не с клиента. Этот тип токена получается с помощью параметра type = client_cred. Если вы хотите что-то делать от имени пользователя, не указывайте type = client_cred и убедитесь, что вы указали следующие параметры в своем вызове http://graph.facebook.com/oauth/access_token:
'client_id' => APP_ID
'redirect_uri' => REDIRECT_URI
'client_secret' => APP_SECRET
'code' => $_GET['code']
Я написал это как пары ключ-значение массива PHP, но я думаю, вы поняли. Значение GET кода получается после первоначального вызова http://graph.facebook.com/oauth/authorize со следующими параметрами:
'client_id' => APP_ID
'redirect_uri' => "http://your.connect.url/some/endpoint"
Надеюсь, это поможет! Документы Facebook говорят, но не очень хорошо, что получение access_token - это процесс с двумя запросами.