Meteor: Facebook基本API调用错误:访问令牌
Meteor: Facebook basic API call error: access token
我目前正试图做一个简单的API调用来显示一些用户数据(包括朋友列表)。
我有一个工作的Facebook登录与以下请求权限(
'click .facebook': function() {
Meteor.loginWithFacebook({ requestPermissions: ['email', 'read_friendlists', 'accesToken']},
function (error) {
if (error) {
return console.log(error);
}
});
},
然后通过
初始化facebookTemplate.friendsList.rendered = function(){
window.fbAsyncInit = function() {
FB.init({
appId : '278237565717322',
xfbml : true,
version : 'v2.0'
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
我想用
做一个简单的API调用"click .facebookfriends": function(){
FB.api('/me', function(response) {
console.log(response)
});
}
这会给我以下错误:
code: 2500
message: "An active access token must be used to query information about the current user."
type: "OAuthException"
我已经尝试了几个例子,但似乎无法找到一种方法来做loginWithFacebook并获得适当的访问权限。有没有人可以帮助我获得一个适当的访问令牌设置?感谢!
看起来你把Meteor包Facebook OAuth登录流和Facebook自己的JS SDK混在一起了。每当我在Meteor上使用FB时,我都会避免使用JS SDK,而纯粹选择使用Meteor包。不管它似乎你的问题是,你通过流星包获得访问令牌,但FB JS SDK没有访问它,当你调用FB。api({…})
试试这样写:
服务器:Meteor.methods({
fb_me: function() {
var user = Meteor.users.findOne(this.userId);
//note: I don't have access to a meteor project hooked up to the FB API
//so where the access token is stored in a user object may differ,
//I got this from an old project. Try logging user here to find it
//if this doesn't work
var accessToken = user.services.facebook.accessToken;
if (!user || !accessToken)
throw new Meteor.Error(500, "Not a valid Facebook user logged in");
return HTTP.get("https://graph.facebook.com/me", {
params: {access_token: accessToken}}).data;
}
});
客户:"click .facebookfriends": function(){
Meteor.call('fb_me', function(err, res) {
if (!err)
console.log(res);
}
}
无需使用FB JS SDK就可以工作。
因为你可能会让你的客户端做很多API调用,我建议你做一个流星。方法,该方法将API端点(例如/me)作为参数,并将数据返回给客户端,类似于FB。
相关文章:
- 使用Javascript获取Twitter访问令牌
- FB.login访问令牌facebook javascript SDK
- Phonegap:获取访问令牌时出现LinkedIn登录错误
- 访问令牌和响应数据
- 访问令牌facebook未激活
- OAuth和访问令牌
- 如何安全地获取&使用Facebook应用程序访问令牌发送通知使用PHP&Javascript
- 函数返回错误'令牌{'
- 使用Javascript向ID数组发送通知时出现Facebook访问令牌错误
- 如何使用密码和用户名从 bitly 获取访问令牌
- Facebook Javascript SDK:发布到提要时验证访问令牌时出错
- Axios CORS 问题与 Github oauth 未获取访问令牌
- AngularJS $http GET 请求到本地 JSON 文件返回语法错误:意外令牌]
- 在 js sdk 中手动设置访问令牌
- 如何使用访问令牌与Facebook Graph API
- 地图框/传单:有效的GeoJSON生成“未捕获的错误:需要API访问令牌”
- NodeJs,500无法在进程中的获取访问令牌(错误:connect ECONNREFUSED)_tickCallbac
- Meteor: Facebook基本API调用错误:访问令牌
- 用户访问令牌格式错误
- 带有页面访问令牌的Facebook Graph API private_replies抛出错误