0

Facebook Javascript SDK를 사용하여 사진을 사용자의 타임 라인에 업로드하고 있습니다. 이것은 내 전화입니다 : Facebook Graph API - 성공시 오류가 있습니까?

function post_photo_to_facebook() { 
    var file_name = 'https://my-image.url.com/image.jpg'; 
    var access_token = FB.getAuthResponse()['accessToken']; 
    $.ajax({ 
     type: "POST", 
     url: "https://graph.facebook.com/me/photos", 
     data: { 
      message: "Here is my message", 
      url: file_name, 
      access_token: access_token, 
      format: "json" 
     }, 
     success: function(data){ 
      alert("POST SUCCESSFUL"); 
     }, 
     error: function(data){ 
      alert('Error'); 
      console.log(data); 
     } 
    }); 
} 

크롬에서

, 나는 오류를 수신하고 다시이 AJAX 호출에서, 아직하는 statusText는 "OK", 그리고 이미지가 성공적으로 내 타임 라인에 업로드되고있다. 나는 여기서 내가 무엇을 놓치고 있는지 궁금해하고있다. 왜 오류가 불려지 는가?

+1

등 토큰을 설정 FB.init를 사용 :

그래서 위의 코드는 다음과 같을 것이다 '오류 : function (xhr, ajaxOptions, thrownError) { 경고 ("Error :"+ xhr.status); 알림 (thrownError); }'어떤 오류가 표시됩니까? – mccannf

+0

thrownError = "SyntaxError : 예기치 않은 토큰 :" 및 xhr.status = 200 –

답변

1

CORS 이유로 인해 ajax POST가 아닌 FB.api을 사용하여 이미지를 업로드해야합니다.

var file_name = 'https://my-image.url.com/image.jpg'; 

FB.api('/me/photos', 'post', { 
    message:'Here is my message', 
    url:file_name   
}, function(response){ 

    if (!response || response.error) { 
     alert('Error occured'); 
    } else { 
     alert('Post ID: ' + response.id); 
    } 

}); 

을 당신은 당신이 할 경우, 다음, 위하는 대신 오차 함수의

+0

FB API를 사용해 보았지만 작동하지 않습니다. 그것은 심지어 사진을 게시하지 않습니다. 사용중인 API 호출을 보유하도록 내 질문을 업데이트하겠습니다. –

+0

Nevermind man. 그것은 내 .api 호출 단순히 배열 및 개체가 아닌 데이터로 정의했기 때문에 단순히 작동하지 않는 것으로 보인다. 나를 다시 보게 만들기위한 주셔서 감사! –