2

可能的答案或错误:使用用户访问令牌似乎有效,它会删除请求并在将来尝试读取它时会抛出错误,但它仍然存在于图表中并且提供 apptoken 仍然显示它,并且出于某种原因不会删除它。似乎与文档相反,但将 apptoken 更改为访问令牌似乎至少为我提供了一种解决方法。

首先,我正在使用的代码(因为文档中的代码总是返回一个用户类型消息不可见的实体)

function do_delete_request($url, $optional_headers = null) 
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//include array of additional headers
if (count($optional_headers)) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $optional_headers);
}
return curl_exec($ch);
}
$full_request_id = build_full_request_id($request_id, $user_id);  
$delete_url = "https://graph.facebook.com/" .$full_request_id. "?access_token=".$apptoken;
$result = do_delete_request($delete_url);

很抱歉,如果这很混乱,我不知道如何格式化这里的东西。经过大量的谷歌搜索后,我不知所措,我从不问这些东西。

$result 一遍又一遍地返回 true。图形资源管理器显示请求仍然存在。

通过删除它,这是否意味着我将它从用户的请求界面中删除?还是我在删除过程中做错了什么?

我需要一种方法来判断请求是否已经被接受。谢谢你的帮助。

4

1 回答 1

1

Facebook 使用 URL 中的请求 ID 将用户发送到您的应用程序,这就是您判断请求何时被接受的方式。检查进程是否响应请求取决于您。

https://apps.facebook.com/[app_name]/?request_ids=[request_ids]

至于删除不起作用,一段时间后请求仍然是他们的吗?Facebook 和许多繁忙的网站会进行大量缓存,因此可能不会立即处理删除等操作。

于 2012-02-08T02:10:10.840 回答