使用PHP的Facebook批量发布请求

时间:2011-09-23 11:26:26

标签: php facebook post

我正在尝试使用PHP发出批量请求,这样就可以在用户墙上发布帖子而没有任何运气。 我已经成功完成了“GET”类型的洗浴请求,但没有“POST”类型。

我的代码:

    $batched_request = '[{"method":"POST","relative_url":"me/feed","body": "message=hi"},' .
    '{"method":"GET","relative_url":"me/feed?limit=1"}]';

    $post_url = "https://graph.facebook.com/" . "?batch=" 
    . $batched_request
    . "&access_token=" . $access_token . "&method=post";
    echo $post_url;

    $post = file_get_contents($post_url);
    echo '<p>Response: <pre>' . $post . '</pre></p>';
    $decoded_response = json_decode($post, true);
    print_r($decoded_response);

如果我将$ batched_request更改为:

$batched_request = '[{"method":"GET","relative_url":"me/feed?limit=1"}]';

批处理请求将被取消并将显示用户墙的第一篇帖子..但我的POST请求有什么问题?

2 个答案:

答案 0 :(得分:2)

我将$batched_request包裹在urlencode()中,它就像一个魅力:

$batched_request = '[{"method":"POST","relative_url":"me/feed","body": "message=hi"},' .
'{"method":"GET","relative_url":"me/feed?limit=1"}]';

$post_url = "https://graph.facebook.com/" . "?batch=" 
. urlencode($batched_request)
. "&access_token=" . $access_token . "&method=post";
echo $post_url;

$post = file_get_contents($post_url);
echo '<p>Response: <pre>' . $post . '</pre></p>';
$decoded_response = json_decode($post, true);
print_r($decoded_response);

同时确保您已授予publish_stream权限 enter image description here

答案 1 :(得分:-1)

This class将简化对Facebook的批量请求。