2014-09-18 99 views
1

好吧,Facebook的JavaScript API將發佈相冊,但不完成圖像上傳

所以我試圖上傳一個圖像到用戶的個人資料,使用JavaScript的Facebook的Facebook。本質上,我有它的工作 - 但不是所有的方式。

它會使用應用標題向我的照片添加一張專輯,這正是我想要的。但是,它不會將照片添加到URL參數中提供的相冊中。見下圖:

// Create the album and add the image 
FB.api(
    "/me/photos", 
    "POST", 
{ 
    "url": "https://[VALID URL]" 
}, 
function (response) { 
    if (!response || response.error) { 
     // Log the error 
     console.log(response.error); 
    } else { 
     console.log(response); 
    } 
} 

就像我說的,有些東西在起作用,因爲這張專輯顯示在我的個人資料中。但我得到在控制檯返回這個錯誤:

Object {message: "An unknown error has occurred.", type: "OAuthException", code: 1} 

任何幫助將不勝感激!

UPDATE:我想通了。請參閱下面的說明。

回答

3

哇,一定要熱愛運行。

所以我的問題不是先創建一個專輯,然後在響應函數中發佈到該專輯。所以最終(工作)代碼,看起來像這樣:

FB.api(
    "/me/albums", 
    "POST", 
    { 
     "name": "[Album Name]", 
     "message": "[Test Message]" 
    }, 
    function (response) { 
     if (!response || response.error) { 
     console.log(response.error); 
     } else { 
     // Get the album ID we just created 
     var albumID = response.id; 
     FB.api(
      "/" + albumID + "/photos", 
      "POST", 
      { 
       message: "Test message", 
       url: "[IMG URL]", 
       no_story: true 
      }, 
      function (response) { 
       if (!response || response.error) { 
       console.log(response.error); 
       } else { 
       console.log(response); 
       console.log(response.id); 
       } 
      } 
     ); 
     } 
    } 
); 

工程就像一個魅力!

+0

非常感謝的人.. – 2014-11-17 11:38:47

+0

它的工作!謝謝你,你是超級巨星! – Sahan 2017-03-14 17:07:33

+0

謝謝Calvin Koepke它也適用於我。其實我想知道,通過此代碼創建相冊並將圖片上傳到相冊,但我想知道如何通過圖表API發佈此相冊。它僅在通知中顯示相冊已創建並且圖像已上傳。謝謝。 – 2017-06-14 06:59:51

1

創建相冊和照片是Graph API的兩個步驟。首先創建一個專輯,就像這樣:

$album_create = $facebook->api("/me/albums", 'POST', $album_params); 

那麼你可以看看,看看是否有」在響應的ID:

if (!array_key_exists('id', $album_create)) 
    return; //album not uploaded, may be an error 

然後你張貼在$ album_create [‘身份證’] /照片邊緣來張貼照片。

上面的調用是在PHP中,但你應該能夠輕鬆地將其轉換爲JS。

+0

所以我最初創建了一個專輯,然後添加了這張照片,但第二個API調用會創建一個輔助專輯。那是因爲我沒有先找到現有的專輯? – 2014-09-19 14:35:22

+0

您可以上傳到現有相冊或新創建的相冊。您需要發佈照片纔是相冊ID。 – Ibrahim 2014-09-19 18:21:42

相關問題