Facebook Connect Graph API - почему я не могу получить все данные пользователя?
-
26-09-2019 - |
Вопрос
Я чувствую, что каждый второй вопрос, который я спрашиваю здесь, связано с Facebook Connect - это много говорит о своих API. Во всяком случае, это политика, я отвлечет ..
Я пытаюсь выдвинуть данные пользователя из графического API для использования в моем приложении (который является внешним веб-сайтом FBML - JavaScript SDK для аутентификации).
Я запросил следующие разрешения от пользователя: (используя обычный диалог)
- publish_stream.
- Эл. адрес
Это работает, и позволяет мне опубликовать на стену пользователя и схватить их электронную почту от графического API.
Но когда я делаю HTTP Get запрос к следующему URL:
https://graph.facebook.com/uid?access_Token=oat. (где uid = идентификатор пользователя пользователя, которого я пытаюсь схватить детали, и OAT = токен OAUTH у меня есть).
Все, что возвращается в JSON, это идентификатор пользователя (который у меня уже есть, так как я помещаю его в URL), а по электронной почте.
Почему я могу не получить такие вещи, как имя, фамилия, локаль и т. Д.?
Я использую неправильный URL? Мой токен ОАУТ не так?
Я получаю токен ОАУТ отсюда:
ОБНОВИТЬ:
Похоже, проблема моя токена ОАУТ.
Потому что когда я иду в документы: http://developers.facebook.com/docs/api.
И используйте образец жетона OAUTH для пользователя, который я пытаюсь получить, он получает все детали.
Кто-нибудь знает, что не так с моим вызовом OAUTH TOKEN?
Решение
Итак, я использовал неправильный URL для обмена ОАУТ. Нужно было это:https://graph.facebook.com/oaauth/exchange_sessions?type=client_cred&client_id=myappid&client_secrete=myappsecret&sessions=userseShid
URL-адрес, который я использовал, был в соответствии с документами, то выше, что работает нигде не найти.
Я в точке с FBC, который я больше не забочусь о как, Если это работает, будьте благодарны, что это даже это и движется дальше.
РЕДАКТИРОВАТЬ:
Кроме того, мне было интересно, почему графические API звонит бы «остановить» работать без причины.
Ответ мне нужно, чтобы сравнить сеансный ключ, используемый для получать The Oauth Token, с ключом сеанса в настоящее время в cookie. Если они разные, мне нужно было получить новый токен ОАУТ.
Ключ сеанса, используемый для любого токена OAuth, является частью фактического токена OAuth:
aaa|bbbb|cccc
Где BBBB является сеансом. Поэтому я просто сравниваю это, прежде чем делать какие-либо графические вызовы API.