Facebook Connect Graph API - 为什么我无法检索所有用户的详细信息?

时间:2010-08-05 04:13:36

标签: facebook facebook-graph-api

我觉得我在这里提出的每一个问题都与Facebook Connect有关 - 这说明了他们的API。无论如何,这是政治,我离题..

我正在尝试从Graph API中撤回用户详细信息,以便在我的应用程序中使用(这是一个FBML外部网站 - 用于身份验证的JavaScript SDK)。

我已向用户请求以下权限:(使用常规对话框)

  • publish_stream
  • 电子邮件

这样做,并允许我发布到用户的墙上,并从图谱API中获取他们的电子邮件。

但是当我对以下网址发出HTTP GET请求时:

https://graph.facebook.com/uid?access_token=oat (其中uid =我正在尝试获取详细信息的用户的用户ID,而oat =我拥有的OAuth令牌。)

JSON中的所有内容都是用户ID(我已经拥有,因为我将其放入URL中)和电子邮件。

为什么我得不到名字,姓氏,地区等等?

我使用的是错误的网址吗?我的OAuth令牌是错误的吗?

我从这里获得了OAuth令牌:

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

更新

看起来问题是我的OAuth令牌。

因为当我转到文档时:http://developers.facebook.com/docs/api

并为尝试检索的用户使用示例OAuth令牌,它会获取所有详细信息。

任何人都知道我的OAuth令牌调用出了什么问题?

1 个答案:

答案 0 :(得分:2)

所以,我使用了错误的网址来进行OAuth Exchange。它必须是这样的: 的 https://graph.facebook.com/oauth/exchange_sessions?type=client_cred&client_id=myappid&client_secrete=myappsecret&sessions=userseshid

我使用的网址是根据doco,上面的网站无处可寻。

我对FBC的观点是,我不再关心如何,如果它有效,那就要感谢它甚至会这样做并继续前进。

编辑:

另外,我想知道为什么Graph API调用会无缘无故地“停止”工作。

答案是我需要将用于获取 OAuth令牌的会话密钥与当前在Cookie中的会话密钥进行比较。如果它们不同,我需要获得一个新的OAuth令牌。

用于任何OAuth令牌的会话密钥是实际OAuth令牌的一部分:

aaa|bbbb|cccc

其中bbbb是会话密钥。所以我只是在做任何Graph API调用之前对它进行比较。