2011-09-23 46 views
0

我試圖使用PHP在用戶牆上發佈帖子而沒有任何運氣的批量請求。 我已經成功地提供了類型爲「GET」但不是「POST」類型的洗澡請求。Facebook使用PHP的批量發佈請求

我的代碼:

$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"}]'; 

批量要求將suceeded並會告訴我的用戶牆的第一篇文章..但什麼是我的POST請求的問題?

回答

2

我包裹$batched_requesturlencode()和它的工作就像一個魅力:

$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

This class將簡化向Facebook發出批量請求。

+0

你介意在這裏發佈代碼或說明嗎?如果網站出現故障或關閉,我們就不會在這裏提供任何信息。 – Nightfirecat

+0

噢,這是它:http://snipt.org/qpJp4 –

+1

而在這兩個網站的網頁沒有找到。信息丟失 –