我正在使用facebook apprequests邀请朋友,如下所示
function invitefriends()
{
FB.init({
appId:'XXXXXXX', cookie:true,
status:true, xfbml:true
});
FB.ui({ method: 'apprequests',
message: 'Here is a new Requests dialog...'});
}
</script>
但是一旦他接受了请求,我就能得到朋友的身份,当用户接受请求时,我能够得到以下信息 https://apps.facebook.com/XXXXXX/?request_ids=XXXXXXX&ref=notif&app_request_type=user_to_user¬if_t=app_request
从上面我可以从userid获取但是如何获得接受请求的用户ID
我尝试使用redirect_uri传递request_ids但是一旦用户安装应用程序就会消失。
答案 0 :(得分:1)
查看Requests documentation,只要用户使用您的应用发送请求,就会将其重定向后发送到您的应用,并将?request=REQUEST_ID&to=ARRAY_OF_USER_IDS
附加到redirect_uri。
因此,一旦您设置了重定向URI以捕获请求ID和UID数组并将其存储以供日后使用。
然后,当收到请求的用户接受该请求时,他们将被定向到类似于以下内容的URL:
https://apps.facebook.com/APPNAME/?request_ids=REQUEST_ID&ref=notif&app_request_type=user_to_user¬if_t=app_request
然后,您可以将此处收到的request_id与您已存储的请求ID进行比较,然后一旦用户接受并放入您的应用,您将收到signed request,您可以解析它以检索他们的用户身份。