使用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'
);
您可以张贴到多挡墙在这里找到一个详细的教程