1

좋아,Facebook Javascript API는 앨범을 게시 할 예정이지만 이미지 업로드를 완료하지 않습니다.

그래서 페이스 북의 JavaScript SDK를 사용하여 이미지를 사용자 프로필에 업로드하려고합니다. 근본적으로, 나는 그것을 작동 시키지만 모든 방법으로 사용하지는 않는다.

앱 타이틀을 사용하여 내 사진에 앨범을 추가합니다. 그러나 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} 

어떤 도움을 주시면 감사하겠습니다!

업데이트 : 알아 냈습니다. 아래 설명을 참조하십시오.

답변

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

끝내 주셔서 감사합니다. –

+0

일했습니다! 고마워, 너 슈퍼 스타 야! – Sahan

+0

감사합니다. Calvin Koepke 나에게도 효과가있었습니다. 사실이 코드를 통해 앨범이 만들어지고 이미지도 앨범에 업로드되지만 그래프 API를 통해이 앨범을 게시하는 방법을 알고 싶습니다. 앨범이 만들어지고 이미지가 업로드되었다는 알림에만 표시됩니다. 감사. –

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에 게시 ['ID ']/사진 가장자리는 사진을 게시합니다.

위의 호출은 PHP로되어 있지만 쉽게 JS로 변환 할 수 있어야합니다.

+0

원래 앨범을 먼저 만든 다음 사진을 추가했지만 두 번째 API 호출은 보조 앨범을 만듭니다. 내가 기존 앨범을 먼저 찾지 않았기 때문입니까? –

+0

기존 앨범이나 새로 만든 앨범에 모두 업로드 할 수 있습니다. 사진을 게시하려면 앨범 ID 만 있으면됩니다. – Ibrahim