有没有办法使用Facebook的批处理API向Facebook发送数据(如更新状态或发布到朋友的墙上)。我想通过一次调用Facebook API发布到多个朋友的墙上或类似的东西。
$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 :(得分:0)
它失败是因为您没有将URL编码的查询字符串传递给api()函数。在构建数组时使用http_build_query()和批处理请求之前的urlencode()将解决问题。
$batchPost[] = array(
'method' => 'POST',
'relative_url' => "/$value/feed",
'body' => http_build_query($body)
);
$multiPostResponse = $facebook->api(
'?batch='.urlencode(json_encode($batchPost)),
'POST'
);
您可以在此处找到有关发布到多个墙的详细教程:Tutorial: Post to multiple Facebook wall or timeline in one go using Graph API batch request