Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Facebook批量API通过POST请求发送数据_Facebook_Facebook Graph Api - Fatal编程技术网

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

使用Facebook批量API通过POST请求发送数据,facebook,facebook-graph-api,Facebook,Facebook Graph Api,有没有一种方法可以使用Facebook的批处理API将数据(如更新状态或张贴到朋友的墙上)发送到Facebook。我想发布到多个朋友的墙或类似的东西,只需一次调用Facebook API $users = array(); $users[] = array('method' => 'POST', 'relative_url' => '/me/feed', 'body' => "message=Test status update"); try{ $batchRes

有没有一种方法可以使用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。有人能帮我找到正确的方法吗


提前感谢。

它失败了,因为您没有将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'
                );

您可以在此处找到有关发布到多个墙的详细教程:

它失败,因为您没有将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'
                );
您可以在此处找到有关发布到多个墙的详细教程: