使用php批量发布到多个Facebook帐户

时间:2012-07-24 15:25:14

标签: php facebook-graph-api

我正在尝试将状态消息发布给多个FB用户,但不是在他们在我的网站上时。对于我发布的每个用户,我有publish_stream perms和60天访问令牌,但我无法弄清楚如何正确批处理。

这是放入访问令牌的正确方法吗?

$body = array(
            'message' => $message, 
            'link'    => $link,
            'picture' => $picture,
            'name'    => $name,
            'description'=> $description
            );
    $batchPost=array();
    $i=1;       
    foreach ($user_fb_id_array as $fb_id) {
        $batchPost[] = array(
            'method' => 'POST',
            'relative_url' => "/" . $fb_id['user_fb_id'] . "/feed?access_token=" . $fb_id['user_fb_auth_code'], // Will this work???
            'body' => http_build_query($body) );
        if($i++ == 50) {
            try {
                $multiPostResponse = $this->facebook->api('?batch='.urlencode(json_encode($batchPost)), 'POST');
            } catch(FacebookApiException $e) {
                error_log($e);
                echo("Batch Post Failed");
            }
            unset($batchPost);
            $i=1;
        }
    }

    if(isset($batchPost) && count($batchPost) > 0 ) {
        try{
            $multiPostResponse = $this->facebook->api('?batch='.urlencode(json_encode($batchPost)), 'POST');
        } catch(FacebookApiException $e){
            error_log($e);
            echo("Batch Post Failed");
        }
    }

为了在信用到期时给予信用,此代码已从25labs.com原始代码修改。

1 个答案:

答案 0 :(得分:0)

应为每个调用定义访问令牌,其级别与'method'和'relative_url'相同,但您的方法也可能有效。

您实际上是收到错误消息还是只是询问如何实现此消息?