当用户接受Facebook apprequests请求时如何获得USERID

时间:2012-03-05 12:00:49

标签: facebook facebook-graph-api apprequests

我正在使用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&notif_t=app_request

从上面我可以从userid获取但是如何获得接受请求的用户ID

我尝试使用redirect_uri传递request_ids但是一旦用户安装应用程序就会消失。

1 个答案:

答案 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&notif_t=app_request

然后,您可以将此处收到的request_id与您已存储的请求ID进行比较,然后一旦用户接受并放入您的应用,您将收到signed request,您可以解析它以检索他们的用户身份。