我目前正在尝试让用户access_token向Facebook Graph API提交FQL查询。目标是最终从FB页面获取最新的状态。
我通过点击以下网址获得app 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。当我使用app access_token发出请求(到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的方法?
谢谢!
答案 0 :(得分:0)
更改您的FQL查询,您应该能够得到您想要的。查询status
需要用户访问令牌,但可以使用应用访问令牌查询公共页面的stream
。 type = 46
将结果限制为状态更新。
SELECT post_id, message, created_time FROM stream WHERE source_id = [PAGE_ID]
AND type = 46