Facebook 使用FB.api()时是否应传递访问令牌?
我只是有点困惑,在请求受保护的东西时,如何将访问令牌传递到FB.api() 我正在让我的应用程序登录并进行身份验证,但是如何使用FB.api()和我拥有的访问令牌呢Facebook 使用FB.api()时是否应传递访问令牌?,facebook,facebook-access-token,Facebook,Facebook Access Token,我只是有点困惑,在请求受保护的东西时,如何将访问令牌传递到FB.api() 我正在让我的应用程序登录并进行身份验证,但是如何使用FB.api()和我拥有的访问令牌呢 app.accessToken = response.authResponse.accessToken; // This is a valid access token. FB.api('/me/friends?access_token='+app.accessToken, {fields: 'name,id,location,p
app.accessToken = response.authResponse.accessToken; // This is a valid access token.
FB.api('/me/friends?access_token='+app.accessToken, {fields: 'name,id,location,picture,installed'}, function(response) {
console.log(response);
});
这是将访问令牌传递到FB.api()的正确方法吗
在本例中,我的回复返回了朋友的姓名、id、位置和图片,但似乎没有“已安装”的数据,因为这些数据受到保护
我这样做对吗?如果用户登录(例如使用FB.login),则不需要传递令牌。事实上,通过使用JavaScript SDK(或PHP SDK),您几乎不需要处理(用户)访问令牌 所以,你的电话是这样的:
FB.api('/me/friends', function(response) {
console.log(response);
});
如果用户安装了应用程序,则获取信息:
尽管我明白为什么有些用户说,由于您的特定用途,您可能不需要传递访问令牌 通常,在某些情况下,您确实需要通过FB.api()传递访问令牌 完成此操作的方法是将其传递到参数对象中,如下所示:
FB.api('/{fb-graph-node-goes-here}/, {
access_token: "TOKEN GOES HERE"
//other parameters can go here aswell
}, function(response) {
console.log(response);
});
我就是这样做的:
将访问令牌作为参数传递
哦,好的。我已经用FB.init()启动了整个过程,然后做了一个FB.getLoginStatus(),它调用上面的FB.api()。那么为什么“已安装”的数据没有回来呢?也许这在/me/friends end point中不可用?好吧,关于获取已安装的数据,我将在我的答案中添加一些链接。如果能看到如何执行OP所要求的操作的示例,那将非常好。我确实有一个场景,我需要传递访问令牌,但找不到任何示例。最简单的解决方案是查看facebook文档:我们需要传递访问令牌作为FB.api的参数。
FB.api("/me", { access_token : response.authResponse.accessToken }, {fields: ['last_name', 'first_name', 'name']},
function (response) {
console.log(response);
console.log('Name: ' + response.name);
}
);