删除Facebook App请求不起作用

时间:2011-11-20 13:23:38

标签: facebook facebook-graph-api

我的脸书应用向一些尚未添加应用的用户发送请求。当他们接受请求时,我试图删除它。此时,他们已经(自动)添加了应用并授权它使用他们的信息等等。

我正在尝试删除与文档中描述的完全相同的请求:

if(isset($_REQUEST['request_ids'])) {
    $reqs = explode(',', $_REQUEST['request_ids']);
    foreach($reqs as $r) {
        $full_req_id = $r . '_' . $this->_currentfbuser->getId();
        $delete_success = $this->_facebook->api("/" . $full_req_id,'DELETE');
    }
}

我仔细检查$full_req_id确实是request-id_user-id,但我仍然收到此错误:

Message: (#200) The entity backed by id ... cannot be seen by the current viewer (EntID: ...)

为什么我的应用禁止删除请求?是不是总是允许删除同一个应用发送的请求?

1 个答案:

答案 0 :(得分:1)

我使用此代码段解决了这个问题。 (我想,Facebook SDK在内部大致相同,但无论如何)

if(isset($_REQUEST['request_ids'])) {
    $reqs = explode(',', $_REQUEST['request_ids']);
    foreach($reqs as $r) {
        $full_req_id = $r . '_' . $this->_currentfbuser->getId();
        $delete_url = "https://graph.facebook.com/" .
            $full_req_id . "?access_token=" . $this->_facebook->getAccessToken() . "&method=delete";

        $result = file_get_contents($delete_url);
    }
}