Facebook请求ID检索和删除

时间:2012-04-19 11:01:44

标签: facebook facebook-graph-api facebook-javascript-sdk facebook-php-sdk

所以我正在开发一个实现Requests Dialog(User-to-User)的小型Web应用程序。

我能够发送邀请并成功将数据保存为请求ID和用户ID。但是当用户被重定向到我的应用程序时,在单击请求后,我无法检索请求ID,如下所示:https://developers.facebook.com/docs/requests/#deleting然后将其删除。

但是我在浏览器的地址栏中看到了请求ID,它看起来像这样:http://apps.facebook.com/myownapp/?fb_source=request&request_ids=210655195715938和REQUEST_URI是:/ halten /?fb_source = request& request_ids = 210655195715938

我尝试使用javascript:

function getMultipleRequests(requestIds) {
    FB.api('', {
        "ids": requestIds
    }, function(response) {
        console.log(response);
    });
}​

或使用php:

if(isset($_REQUEST['request_ids'])) {
    $requestIDs = explode(',' , $_REQUEST['request_ids']);
    foreach($requestIDs as $requestID) {
      try {
        $delete_success = $facebook->api('/' . $requestID, 'DELETE');
      } catch(FacebookAPIException $e) {
        error_log($e);
      }
    }

但是request_ids始终为空,但我的浏览器显示了request_id

所以问题是如何处理这个问题? 提前致谢

1 个答案:

答案 0 :(得分:2)

User to User Request实际上是以4个级别通知用户。

1)宝石通知

enter image description here

2)书签计数器

enter image description here

3)右上方计数器

enter image description here

4)应用程序内部的奇怪位置通知(我不知道这被称为对不起)

enter image description here

所有这些请求都会将用户带到应用程序,但遗憾的是,在Jewel通知(#1)请求网址中将包含all请求ID,剩下的只包含一个请求ID。

假设您发送了4个请求(1,2,3,4)

网址中的

#11&2&3&4

#2,#3,#4one of those,具体取决于您回复的通知

希望这有意义并回答这个问题。