2011-03-20 70 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'); 

應刪除所有請求。