为什么Facebook令牌在signed_request和应用程序设置中有所不同?

时间:2011-07-05 00:57:34

标签: facebook

新的Developer应用程序在应用程序设置页面上显示访问令牌。它与Facebook在 signed_request 中发送给应用程序的令牌以及我可以从https://graph.facebook.com/oauth/access_token获得的令牌不同。

问题是来自应用设置页面的令牌似乎是“正确的”(我可以用 fql.multiquery )和来自 signed_request / oauth不是(使用它调用 fql.multiquery 返回错误#15:“您调用的方法必须使用app secret signed session调用”)。< / p>

你能解释一下发生了什么吗? 如何获得这个“正确”的令牌?

1 个答案:

答案 0 :(得分:1)

有两种类型的OAuth令牌:

  • 用户访问令牌 - 用于查询有关该用户的信息(例如他们的朋友,帖子,事件等)。
  • 应用访问令牌 - 用于应用级别查询,例如实时更新,统计信息

使用签名请求发送的令牌是第一种类型 - 它是当前登录用户的令牌,您可以使用它来查询Facebook。您收到的错误消息表明您尝试运行的操作需要第二种类型的令牌。

在Auth文档中查看更多信息:http://developers.facebook.com/docs/authentication/。在该页面上,“用户登录”部分与第一种类型相关,“应用程序登录”部分与第二种类型相关。