0

我目前正在尝试让用户 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

当我(SELECT status_id, message, time FROM status WHERE uid="[PAGE_ID]")使用 Graph API 资源管理器工具编写 FQL 查询时,由于资源管理器默认使用我的 User 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 的方法?

谢谢!!

4

1 回答 1

0

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

SELECT post_id, message, created_time FROM stream WHERE source_id = [PAGE_ID] 
  AND type = 46
于 2012-11-05T15:27:57.557 回答