删除请求返回true,但请求仍然存在?

时间:2012-02-08 00:04:35

标签: facebook graph apprequests

可能的答案或错误:使用用户访问令牌似乎有效,它会删除请求,并在将来尝试读取时会抛出错误,但它仍然存在于图表中并提供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。图形浏览器显示请求仍然存在。

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

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

1 个答案:

答案 0 :(得分:1)

Facebook通过URL中的请求ID将用户发送到您的应用程序,这就是您在接受请求时的方式。由您来检查流程是否对请求做出响应。

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

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