API Connect Facebook Graph - Почему я не могу получить все данные пользователя? - PullRequest
1 голос
/ 05 августа 2010

Мне кажется, что каждый второй вопрос, который я здесь задаю, касается Facebook Connect - это многое говорит об их API. Во всяком случае, это политика, я отвлекся ..

Я пытаюсь получить информацию о пользователе из Graph API для использования в моем приложении (это внешний сайт FBML - JavaScript SDK для аутентификации).

Я запросил у пользователя следующие разрешения: (используя обычный диалог)

  • publish_stream
  • Адрес электронной почты

Это работает и позволяет мне публиковать сообщения на стене пользователя и получать их электронную почту из Graph API.

Но когда я делаю HTTP GET-запрос на следующий URL:

https://graph.facebook.com/uid?access_token=oat (где uid = идентификатор пользователя, для которого я пытаюсь получить информацию, и oat = токен OAuth, который у меня есть).

Все, что возвращается в JSON, - это идентификатор пользователя (который у меня уже есть, так как я помещаю его в URL) и адрес электронной почты.

Почему я не могу получить такие вещи, как имя, фамилия, язык и т. Д.?

Я использую неправильный URL? Мой токен OAuth неверен?

Я получаю токен OAuth отсюда:

https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=myappid&client_secret=myappsecret

UPDATE:

Похоже, проблема в моем OAuth-токене.

Потому что, когда я иду в документы: http://developers.facebook.com/docs/api

И используйте образец OAuth-токена для пользователя, которого я пытаюсь получить, он получает все детали.

Кто-нибудь знает, что не так с моим вызовом токена OAuth?

1 Ответ

2 голосов
/ 05 августа 2010

Итак, я использовал неправильный URL для OAuth Exchange.Это должно было быть так: https://graph.facebook.com/oauth/exchange_sessions?type=client_cred&client_id=myappid&client_secrete=myappsecret&sessions=userseshid

URL, который я использовал, был в соответствии с документом, вышеупомянутый, который работает, нигде не найти.

Яв момент с FBC, что меня больше не волнует как , если он работает, будьте благодарны за то, что он делает это даже и двигайтесь дальше.

РЕДАКТИРОВАТЬ:

ТакжеМне было интересно, почему вызовы Graph API «перестали» работать без причины.

Ответ - мне нужно сравнить ключ сессии, используемый для получения токена OAuth, с сеансом.Ключ в настоящее время в куки.Если они разные, мне нужно было получить новый токен OAuth.

Ключ сеанса, используемый для любого токена OAuth, является частью фактического токена OAuth:

aaa|bbbb|cccc

Где bbbb - сеансключ.Поэтому я просто сравниваю это, прежде чем делать какие-либо вызовы Graph API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...