如何在facebook请求对话框中获取用户id

如何在facebook请求对话框中获取用户id,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我要做的是获取请求ID并插入到我的数据库中。我的请求对话框运行良好,但问题是我无法获取“TO”用户id,但仍然无法获取请求用户id 这是我的代码: function newInvite(){ //var user_ids = document.getElementsByName("user_ids")[0].value; FB.ui({ method : 'apprequests',

我要做的是获取请求ID并插入到我的数据库中。我的请求对话框运行良好,但问题是我无法获取“TO”用户id,但仍然无法获取请求用户id

这是我的代码:

         function newInvite(){
            //var user_ids = document.getElementsByName("user_ids")[0].value;
           FB.ui({ 
                    method : 'apprequests',
                    title: 'X-MATCH',
                    message: 'Come join US now, having fun here',                       
            },                      
            function getMultipleRequests(requestIds) {
              FB.api('', {"ids": requestIds }, function(response) {
                console.log(response);
              });
            }                   
            );
        }
有什么解决办法吗


百万感谢您的帮助

您是否已高效地启用request 2.0

如果您已经启用了,您可以很容易地获得用户id,因为响应如下

{
    request: ‘request_id’
    to:[array of user_ids]
}
<request_object_id>_<user_id>
在回调函数中,可以使用

response.request
获取请求ID

response.to
获取用户ID数组

请注意,如果使用Request2.0,请求ID格式如下

{
    request: ‘request_id’
    to:[array of user_ids]
}
<request_object_id>_<user_id>
然后可以使用数组“receiverIDs”进行进一步处理

例如,我向id为“1234”、“5678”的用户id发送了一个请求

答复如下:

{
    request: ‘1234567890’   // example,
    to:['1234', '5678'] 
}
在Request2.0中,完整的请求id如下所示

1234567890_1234
1234567890_5678
警告:FB文档告诉您自己管理和删除请求,如果您使用请求2.0, 请记住像上面那样删除id,如果直接删除请求“123456789”,则所有带有此前缀的完整请求id都将被删除

==================================================================

如果尚未启用Request2.0,请按照文档页面上的代码查看如何通过进行api调用来获取用户id

function getMultipleRequests(requestIds) {
  FB.api('', {"ids": requestIds }, function(response) {
    console.log(response);
  });
}
这些方法的响应格式如下:

{
   "id": "[request_id]",
   "application": {
      "name": "[Application Name]",
      "id": "[Application ID]"
   },
   "to": {
      "name": "[Recipient User Name]",
      "id": "[Recipient User ID]"
   },
   "from": {
      "name": "[Sender User ID]",
      "id": "[Sender User Name]"
   },
   "message": "[Request Message]",
   "created_time": "2011-09-12T23:08:47+0000"
}

您可以通过
response.to.id

实现api调用的回调并获取接收者,谢谢hanon,但是如何在回调中获取用户id呢?不是这样吗?函数requestCallback(response){top.location.href=“REDIRECT_URL?req=“+response.to;”我更新我的答案,看看如何获取id数组。如果您想跟踪请求的数据,那么使用FB.api(“/requestID”,callback)获取数据。记住ID的格式非常感谢,我得到了请求ID,但是如何知道这个请求ID属于哪个用户ID?我需要插入到我的数据库的用户id,此外,我已经测试了你的代码,它的工作,但一旦是发送请求给我的朋友,我的朋友打开了我的请求它显示白色空白页,链接显示如下:,我如何解决这个问题?似乎你的请求id没有使用请求2.0,请参阅上面更新的答案。对于空白页,如果URL包含请求ID,您是否将用户重定向到另一页?仔细检查。我已经在顶部编辑了我的代码,看了看,但仍然无法获取ID,对不起,我是facebook graph api中的新手,这就是为什么不断询问答案的原因