为什么我的应用令牌处于非活动状态?

为什么我的应用令牌处于非活动状态?

问题描述:

我在这里使用 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

有关令牌的更多信息:

您可能会发现这篇文章的授权部分有所帮助:http://www.devils-heaven.com/facebook-javascript-sdk-login/

对于非受限制的页面,你可以只需使用应用令牌即可:https://graph.facebook.com/page-id/videos?limit=20&acce‌​ss_token=myappid|mys‌​ecret

......当然你也可以使用虚名来代替ID。

+0

我认为手动建立一个登录流程最接近我的要求。其实我不需要用户数据,也许我正在用错误的参数进行测试。我的用例是在没有fb登录的情况下从android应用程序的webview中的少数页面获取视频。不是适用于非用户特定数据的App令牌吗?我可以硬编码一个固定的访问令牌吗? – ishandutta2007

+0

就像这样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

+0

对于非受限页面,您可以使用应用程序令牌。你不能使用“我”,你需要使用页面ID。是“somechannelname”一页吗?我只是用另一个页面测试它,它确实有效。 – luschn