2014-06-30 73 views
1

我目前在不同的Facebook頁面上發佈圖片網址,但我使用很多調用來做同樣的事情。Facebook圖表api/me/photos問題

取而代之,我正在嘗試處理批處理請求以節省執行時間,但我遇到了問題。

做很多電話,我用這個:

$urlLink = '/' . $pageId . '/photos'; 

$args = array(
    'url'     => $this->image_url, 
    'message'    => $this->message, 
    'published'    => false, 
    'scheduled_publish_time' => strtotime($this->programmed_dt), 
); 
$res = $this->fb->api($urlLink, 'POST', $args); 

它工作正常。

隨着批量要求我與嘗試:

$urlLink = '/' . $facebookPage['id'] . '/photos'; 
$args['access_token'] = $facebookPage['access_token']; 
$queries[] = array('method'  => 'POST', 
        'relative_url' => $urlLink, 
        'body'   => $args, 
        'url' => $this->image_url 
); 

$res = $this->fb->api('?batch=' . json_encode($queries), 'POST'); 

我的反應是:

{"error":{"message":"(#324) Requires upload file","type":"OAuthException","code":324}} 

我試圖改變名稱字段與所有的可能性,發送圖像鏈接,而不成功...

對圖像網址批量請求的任何想法?

回答

0

根據https://developers.facebook.com/docs/graph-api/making-multiple-requests/#multiple_methods我假設你的代碼構成請求沒有正確的語法。

從我的角度來看,這應該是以下幾點:

$args['access_token'] = $facebookPage['access_token']; 
$queries[] = array('method'  => 'POST', 
        'relative_url' => $urlLink, 
        'body'   => 'url=' . $this->image_url 
); 

$res = $this->fb->api('/?batch=' . json_encode($queries) . '&access_token=' . $args['access_token'], 'GET'); 
+1

你在哪裏發送的每一頁令牌?因爲我們有主令牌(用戶),但爲了能夠發佈到頁面,我還需要發送頁面令牌(從/我/賬戶獲得)。 – zeflex

+0

您可以將訪問令牌添加到批處理的每個請求中,請參閱https://developers.facebook.com/docs/graph-api/making-multiple-requests/#differentaccesstokens它需要添加到主體參數中。那麼「外部」訪問令牌就是回退訪問令牌。 – Tobi

+0

我會稍後再嘗試,我會給你一些消息。謝謝。 – zeflex

0

我所看到的一切ok了你的代碼,除了這個 -

你應該張貼圖片之前設置上傳支持true

$this->fb->setFileUploadSupport(true); 

更多的細節,你可以檢查這個答案:

CHECK HERE