我创建了一个简单的Facebook应用程序,允许用户使用他们的Facebook帐户登录。一旦他们登录,他们就会被邀请到使用下面的图形api方法的独家应用程序组:
POST /{group-id}/members
member: {member-id}
当添加的成员是开发/测试人员角色的用户时,它很有用,但如果他们不能得到以下内容:
{
"error": {
"message": "(#4002) The attempt to invite the user to the group failed.",
"type": "OAuthException",
"code": 4002
}
}
我遗漏了哪些权限阻止我将应用用户添加到此应用群组?
我认为我可能需要user_groups
权限,但我不需要获取他们的论坛,而且图谱API文档说应用可以使用应用访问令牌将用户添加到应用群组。
解
@Cbroe是对的。以下是我必须使用的代码来显示用户加入组的加入对话框:
FB.ui({
method: 'game_group_join',
id: '123',
display:'popup'
}, function(res){
console.log(res);
if(res.added == true){
alert('joined group')
} else {
alert('error: '+res.error_message)
}
});
答案 0 :(得分:1)
https://developers.facebook.com/docs/graph-api/reference/v2.2/group/members#publish说,
“应用可以邀请人员(如果他们是应用的管理员,开发人员或测试人员)加入由该应用创建的论坛[...]”
- 我认为这意味着邀请仅适用于在应用中具有“角色”的人。
对于普通用户,您必须向他们显示加入对话框,如下所述:https://developers.facebook.com/docs/games/app-game-groups/#add_user
然后由用户决定是否要加入。
同一份文件也说,
“您应该使用游戏内消息来传达邀请,并且可以考虑使用应用通知或请求来告诉玩家未完成的请求。”