为什么我的应用令牌处于非活动状态?
问题描述:
我在这里使用 https://developers.facebook.com/tools/accesstoken/ 我的新创建的应用程序(2号线)为什么我的应用令牌处于非活动状态?
var graph = new facebook.GraphAPI(accessToken);
graph.getConnections('me', 'friends', print);
function print(error, data) {
console.log(error ? error : data);
}
为什么它仍然抛出的错误下找到应用程序令牌?我错过了什么?
必须使用活动访问令牌来查询有关当前用户的信息。
答
你需要的是一个用户令牌,而不是应用程序令牌。与使用App Token的任何用户没有任何关系,您需要授权具有user_friends
权限的用户获得他的朋友。请注意,出于隐私的原因,您只会获得授权您的应用的朋友user_friends
。
有关令牌的更多信息:
- https://developers.facebook.com/docs/facebook-login/access-tokens
- http://www.devils-heaven.com/facebook-access-tokens/
您可能会发现这篇文章的授权部分有所帮助:http://www.devils-heaven.com/facebook-javascript-sdk-login/
对于非受限制的页面,你可以只需使用应用令牌即可:https://graph.facebook.com/page-id/videos?limit=20&access_token=myappid|mysecret
......当然你也可以使用虚名来代替ID。
我认为手动建立一个登录流程最接近我的要求。其实我不需要用户数据,也许我正在用错误的参数进行测试。我的用例是在没有fb登录的情况下从android应用程序的webview中的少数页面获取视频。不是适用于非用户特定数据的App令牌吗?我可以硬编码一个固定的访问令牌吗? – ishandutta2007
就像这样curl graph.facebook.com/v2.9/somechannelname/videos limit = 20&access_token = myappid | mysecret'但是在这里我收到错误,说'{“error”:{“message”:“一个访问令牌需要此资源。“,”type“:”OAuthException“,”code“:104,”fbtrace_id“:”A3 \/KBb7RFAb“}}' – ishandutta2007
对于非受限页面,您可以使用应用程序令牌。你不能使用“我”,你需要使用页面ID。是“somechannelname”一页吗?我只是用另一个页面测试它,它确实有效。 – luschn