【问题标题】:Get Facebook user access_token for FQL/Graph API获取 FQL/Graph API 的 Facebook 用户 access_token
【发布时间】:2012-11-05 14:41:59
【问题描述】:

我目前正在尝试让用户 access_token 向 Facebook Graph API 提交 FQL 查询。最终目标是从 FB 页面获取最新状态。

我通过点击以下 URL 获得了应用程序 access_token:

https://graph.facebook.com/oauth/access_token?client_id=[CLIENT_ID]&client_secret=[CLIENT_SECRET]&grant_type=client_credentials

当我使用 Graph API 资源管理器工具编写 FQL 查询 (SELECT status_id, message, time FROM status WHERE uid="[PAGE_ID]") 时,由于资源管理器默认使用我的用户 access_token,因此它可以正常工作。在 FB 调试器工具中调试此 access_token 可验证它是否同时使用了我的 app_id 和我的 user_id。当我使用应用程序 access_token 发出请求 (to https://graph.facebook.com/fql?q=[QUERY ABOVE]&access_token=[APP_TOKEN]) 时,我收到以下错误:

{"error":{"message":"A user access token is required to request this resource.","type":"OAuthException","code":102}}

有没有使用 FB API 访问用户 access_token 的方法?

谢谢!!

【问题讨论】:

标签: facebook api facebook-graph-api facebook-fql facebook-access-token


【解决方案1】:

更改您的 FQL 查询,您应该能够得到您想要的。查询status 需要用户访问令牌,但查询公共页面的stream 可以使用应用访问令牌完成。 type = 46 将结果限制为状态更新。

SELECT post_id, message, created_time FROM stream WHERE source_id = [PAGE_ID] 
  AND type = 46

【讨论】:

  • 这正是我想要的!!谢谢@cpilko!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-12
  • 1970-01-01
相关资源
最近更新 更多