无法在 Facebook Graph API 上使用 /apprequests 端点
Unable to use the /apprequests endpoint on Facebook Graph API
我在节点上使用 passport.js 来验证用户。我正在尝试为用户添加邀请朋友加入我的游戏的功能。我可以查询 /invitable_friends 端点以获取未使用该应用程序的朋友列表,但我似乎无法让 /apprequests 工作。
我正在尝试根据 API reference 从浏览器发出 post 请求。
var url = 'https://graph.facebook.com/'+ uid + '/apprequests' +
'?access_token=' + accessToken +
'&message=Invitation' +
'&action_type=INVITE' +
'&ids=' + inviteTokens;
其中 inviteTokens 是从 /invitable_friends 返回的邀请令牌的逗号分隔字符串。
我收到这个错误:
{
"error": {
"message": "Invalid token: \"811513274\". An ID has already been specified.",
"type": "OAuthException",
"code": 2500,
"fbtrace_id": "BrulDCVO+SE"
}
}
如果我排除了 ids 参数,查询会工作,但请求只是发送给我自己。如果我在端点路径中排除我的 uid,我会得到错误:
{
"error": {
"message": "(#803) Some of the aliases you requested do not exist: {inviteTokens},
"type": "OAuthException",
"code": 803,
"fbtrace_id": "AL6Yo+jAwWW"
}
}
这意味着端点期待其他东西,但文档使用 example 中的访问令牌:
FB.ui({method: 'apprequests',
message: 'YOUR_MESSAGE_HERE',
to: 'USER_ID, USER_ID, INVITE_TOKEN'
}, function(response){
console.log(response);
});
我也尝试使用 Graph API 资源管理器得到相同的结果。
希望我在这里提供了足够的详细信息,但如果您需要其他任何信息,请告诉我。提前致谢!
因此,Facebook 不允许通过 POST 请求直接发送邀请。邀请必须通过 Javascript SDK 中的前端对话框,因此 FB 可以验证用户是否真的想要发送邀请。
我在节点上使用 passport.js 来验证用户。我正在尝试为用户添加邀请朋友加入我的游戏的功能。我可以查询 /invitable_friends 端点以获取未使用该应用程序的朋友列表,但我似乎无法让 /apprequests 工作。
我正在尝试根据 API reference 从浏览器发出 post 请求。
var url = 'https://graph.facebook.com/'+ uid + '/apprequests' +
'?access_token=' + accessToken +
'&message=Invitation' +
'&action_type=INVITE' +
'&ids=' + inviteTokens;
其中 inviteTokens 是从 /invitable_friends 返回的邀请令牌的逗号分隔字符串。
我收到这个错误:
{
"error": {
"message": "Invalid token: \"811513274\". An ID has already been specified.",
"type": "OAuthException",
"code": 2500,
"fbtrace_id": "BrulDCVO+SE"
}
}
如果我排除了 ids 参数,查询会工作,但请求只是发送给我自己。如果我在端点路径中排除我的 uid,我会得到错误:
{
"error": {
"message": "(#803) Some of the aliases you requested do not exist: {inviteTokens},
"type": "OAuthException",
"code": 803,
"fbtrace_id": "AL6Yo+jAwWW"
}
}
这意味着端点期待其他东西,但文档使用 example 中的访问令牌:
FB.ui({method: 'apprequests',
message: 'YOUR_MESSAGE_HERE',
to: 'USER_ID, USER_ID, INVITE_TOKEN'
}, function(response){
console.log(response);
});
我也尝试使用 Graph API 资源管理器得到相同的结果。
希望我在这里提供了足够的详细信息,但如果您需要其他任何信息,请告诉我。提前致谢!
因此,Facebook 不允许通过 POST 请求直接发送邀请。邀请必须通过 Javascript SDK 中的前端对话框,因此 FB 可以验证用户是否真的想要发送邀请。