我使用节点上的passport.js对用户进行身份验证。我试图增加用户邀请朋友到我的游戏的能力。我可以查询/invitable_friends端点以获得不使用该应用程序的朋友列表,但我似乎无法让/apprequests工作。
我试图基于API参考从浏览器中发出一个post请求。
var url = 'https://graph.facebook.com/'+ uid + '/apprequests' +
'?access_token=' + accessToken +
'&message=Invitation' +
'&action_type=INVITE' +
'&ids=' + inviteTokens;其中,inviteTokens是从/invitable_friends返回的invite令牌的逗号分隔字符串。
我知道这个错误:
{
"error": {
"message": "Invalid token: \"811513274\". An ID has already been specified.",
"type": "OAuthException",
"code": 2500,
"fbtrace_id": "BrulDCVO+SE"
}
}如果不包含is参数,则查询可以工作,但请求只是发送给我自己。如果将uid排除在端点路径中,则会得到以下错误:
{
"error": {
"message": "(#803) Some of the aliases you requested do not exist: {inviteTokens},
"type": "OAuthException",
"code": 803,
"fbtrace_id": "AL6Yo+jAwWW"
}
}这意味着端点期待的是其他东西,但是文档在示例中使用访问令牌。
FB.ui({method: 'apprequests',
message: 'YOUR_MESSAGE_HERE',
to: 'USER_ID, USER_ID, INVITE_TOKEN'
}, function(response){
console.log(response);
});我还尝试使用图形API资源管理器,其结果也是一样的。
希望我在这里提供了足够的细节,但是如果你还需要什么,请告诉我。提前感谢!
发布于 2015-11-14 17:40:57
因此,Facebook不允许直接通过帖子请求发送邀请。邀请必须通过Javascript中的前端对话框,这样FB就可以验证用户是否真的想发送邀请。
https://stackoverflow.com/questions/33699546
复制相似问题