2011-03-20 71 views
2
$request_url ="https://graph.facebook.com/".$uid."/apprequests?".$access_token; 
$requests = file_get_contents($request_url); 

这会获取用户的所有请求。但是,我如何一次删除所有这些文件? Facebook只有一个例子可以逐个删除它们。如何删除所有Facebook Graph API apprequests?

谢谢!

+1

循环遍历集合并在每个集合上应用删除? – alex 2011-03-21 00:01:19

+1

你甚至读过我写的东西吗? – jestro 2011-03-21 08:14:37

+1

是的。也许你*不能*。 – alex 2011-03-21 08:28:34

回答

0
if($requests) { 
    foreach($requests as $key => $data) { 

     $request_url = "https://graph.facebook.com/" . 
         $data['id'] . "?" . $access_token; 

     $requests = file_get_contents($request_url); 

     //Delete a request. 
     $delete_url = $request_url . "&method=delete"; 
     $result = file_get_contents($delete_url); 

    } 
    } 
4

您不能在单个操作中删除多个项目(就像您可以使用SQL一样)。您需要进行一定程度的迭代以指定每个请求的唯一URL。 可以将您的操作批量化为对Graph API的单个请求。

更多信息here at FB

2

我知道这个问题很旧,但我发现它在Google上搜索,所以我想现在任何人都可能需要一个答案。

对我来说,最好的方法是通过单个API调用将所有请求ID发送到Facebook。

您的请求ID必须在格式requestid_userid,像12345_67890,假设你有一个阵列内所有的ID($ array_of_request_ids),代码(PHP)会是这样的:

$ids = implode(',', $array_of_request_ids); 
$facebook->api("/?ids={$ids}", 'DELETE'); 

应删除所有请求。