使用Facebook批量API通过POST请求发送数据

问题描述:

有没有一种方法可以使用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。有人能帮助我以正确的方式做到这一点。

在此先感谢。

由于您未将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' 
       ); 

您可以张贴到多挡墙在这里找到一个详细的教程