2011-12-17 85 views
2

有沒有一種方法可以使用Facebook的批量API將數據(如更新狀態或發佈到朋友的牆上)發送到Facebook。我希望發佈到多個朋友的牆或類似的東西,只需調用一次Facebook API。使用Facebook批量API通過POST請求發送數據

$users = array(); 

$users[] = array('method' => 'POST', 'relative_url' => '/me/feed', 'body' => "message=Test status update"); 

try{ 

    $batchResponse = $facebook->api('?batch='.json_encode($users), 'POST'); 

}catch(FacebookApiException $e){ 

    error_log($e); 

} 

但是腳本失敗,API調用返回NULL。有人能幫助我以正確的方式做到這一點。

在此先感謝。

回答

0

由於您未將URL編碼的查詢字符串傳遞給api()函數,因此失敗。在批量請求之前構建數組和urlencode()時使用http_build_query()可以解決問題。 Tutorial: Post to multiple Facebook wall or timeline in one go using Graph API batch request

$batchPost[] = array(
       'method' => 'POST', 
       'relative_url' => "/$value/feed", 
       'body' => http_build_query($body) 
       ); 

$multiPostResponse = $facebook->api(
       '?batch='.urlencode(json_encode($batchPost)), 
       'POST' 
       ); 

您可以張貼到多擋牆在這裏找到一個詳細的教程