2012-03-22 224 views
4

例如,我在我的網站上安裝了WordPress。我想通過網址在Facebook上上傳圖片。我的形象鏈接:Facebook - 如何通過URL上傳照片?

http://example.com/wp-content/abc123.jpg

現在,我想通過自己的網站直接上傳到Facebook這個圖像到特定專集。我完全是N00B!所以不知道編碼的任何內容..

我的目標是創建一個封面網站。

* 第二次更新 *: 這裏是我使用的是現在的代碼:

<?php 
     $app_id = "12354"; 
     $app_secret = "1213243434"; 
     $post_login_url = "http://example.com/sdsds"; 
     $album_id = "1234224"; 
     $photo_url = "http://example.coom/test.jpg"; 
     $photo_caption = "my caption"; 

    $code = $_REQUEST["code"]; 

    //Obtain the access_token with publish_stream permission 
    if (!$code){ 
    $dialog_url= "http://www.facebook.com/dialog/oauth?" 
     . "client_id=" . $app_id 
     . "&redirect_uri=" . urlencode($post_login_url) 
     . "&scope=publish_stream"; 
    echo("<script>top.location.href='" . $dialog_url 
     . "'</script>"); 
    } else { 
    $token_url="https://graph.facebook.com/oauth/access_token?" 
     . "client_id=" . $app_id 
     . "&client_secret=" . $app_secret 
     . "&redirect_uri=" . urlencode($post_login_url) 
     . "&code=" . $code; 
    $response = file_get_contents($token_url); 
    $params = null; 
    parse_str($response, $params); 
    $access_token = $params['access_token']; 

    // POST to Graph API endpoint to upload photos 
    $graph_url= "https://graph.facebook.com/" 
     . $album_id . "/photos?" 
     . "url=" . urlencode($photo_url) 
     . "&message=" . urlencode($photo_caption) 
     . "&method=POST" 
     . "&access_token=" .$access_token; 

    echo '<html><body>'; 
     echo file_get_contents($graph_url); 

    echo '</body></html>'; 
    } 
?> 

所以從這個代碼,我能夠「test.jpg放在」上傳到Facebook,但現在問題是我不想只上傳一張圖片,我想上傳很多圖片,所以我不想改變「$ photo_url =」http://example.coom/test.jpg「;」這個代碼的新照片任何幫助將不勝感激!

+0

這是一個幫助網站,而不是「我們只是給你的代碼」網站。我建議你看看http://developers.facebook.com網站,特別是https://developers.facebook.com/docs/reference/api/photo/ – TommyBs 2012-03-22 07:56:15

+3

最重要的是,這個帖子https:/ /developers.facebook。com/blog/post/526 /應該有關於通過網址上傳的信息 – TommyBs 2012-03-22 08:03:34

回答

4

您無法從網址上傳照片,甚至沒有將其視爲「上傳」,因爲您並未真正上傳照片,只是指向網址。

你需要做的是獲得實際的圖像數據,並自己將其發送到Facebook上POST請求到這個網址:與PARAMS

https://graph.facebook.com/ALBUM_ID/photos 

消息

如果您在服務器上沒有本地圖像,那麼您需要下載它,閱讀它的內容,然後發佈到Facebook。


編輯

感謝@TommyBs評論,我看到它是ineed可以通過URL上傳。 因爲談到替代方案,我會留下答案。


第二編輯

如果你想上傳一些圖片,有2個選項(在我看來):

(1)使用Facebook提供的Batch Requests。 你將不得不測試它是否適用於這個特定的方法,我不知道,因爲我從來沒有嘗試使用url上傳圖片到Facebook。

(2)發送每個圖像的請求時,是這樣的:

function uploadPicture($albumId, $photoUrl, $message, $token) { 
    $url= "https://graph.facebook.com/" 
     . $albumId . "/photos?" 
     . "url=" . urlencode($photoUrl) 
     . "&message=" . urlencode($message) 
     . "&method=POST" 
     . "&access_token=" . $token; 

    return file_get_contents($url); 
} 

然後,只需重複使用不同的參數這種功能。

+0

是的,它是相當隱蔽的,我只記得它,因爲我曾經看過它。實際上,有人在facebook上提出了一個錯誤,說明它不在他們的文檔中,所以希望它最終會被記錄下來! – TommyBs 2012-03-22 12:59:06

+0

我希望他們更新文檔,感謝您的信息。 – 2012-03-22 13:04:10

+0

好的謝謝你們的幫助,特別是@TommyBs代碼:)現在我可以上傳照片到臉書。但現在請我只想知道如何從相同的代碼上傳這麼多照片。這裏是我使用的代碼 – 2012-03-22 13:49:48