我的脸书应用向一些尚未添加应用的用户发送请求。当他们接受请求时,我试图删除它。此时,他们已经(自动)添加了应用并授权它使用他们的信息等等。
我正在尝试删除与文档中描述的完全相同的请求:
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: ...)
为什么我的应用禁止删除请求?是不是总是允许删除同一个应用发送的请求?
答案 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);
}
}