2012-08-06 2 views
0

저는 페이스 북 모바일 웹 앱을 만들고 있습니다. 다음과 같은 기능이 있습니다.친구 사귀기 facebook mobile fb.ui 안녕하세요 세계

function getUserFriends() { 
    FB.api('/me/friends&fields=name,picture', function(response) { 
     console.log('Got friends: ', response); 

     if (!response.error) { 
      var markup = ''; 

      var friends = response.data; 

      for (var i=0; i < friends.length && i < 25; i++) { 
       var friend = friends[i]; 

       markup += '<img src="' + friend.picture + '"> ' + friend.name + '<br>' + friend.id + '<br>'; 
      } 

      document.getElementById('user-friends').innerHTML = markup; 
     } 
    }); 
} 

사진이없는 경우 반환됩니다. 이 같은 반환해야하지만

[06:02:12.503] GET http://m.mochirestaurant.com/fb/%5Bobject%20Object%5D [HTTP/1.1 404 Not Found 77ms] 

: 콘솔 로그 반환

http://profile.ak.fbcdn.net/hprofile-ak-ash2/276211_285403872_5043326_q.jpg 

을 나는 내 페이스 북의 응용 프로그램에서 뭔가를 잘못 생각하지만 그것이 무엇인지 모르는

답변

0

[06 : 02 : 12.503] http : // m.mochirestaurant.com/fb/%5Bobject%20Object%5D [HTTP/1.1 404 Not Found 77ms]

실제 값 대신에 URL이 인코딩 된 괄호와 함께 [object]이라는 문자열이 있음을 알 수 있습니다. 이는 문자열 컨텍스트에 객체를 가져올 때 브라우저가 반환하는 것입니다. (즉, http로 시작하는 전체 URL이 아니기 때문에 그리고 : // ..., 브라우저는 상대 주소로 취급하고 당신의 도메인을 요청하려고합니다.) 그러니 확실히

friend.picture 코드에서이 시점에서 문자열 값이 아니라 객체입니다.

(지금까지 디버깅 및 안보 - 더 - 오류 부분.)

이 사용자/picure 연결에 관한 October 3, 2012 Breaking change에서 유래,

/사진 연결이 사전을 반환합니다 콜백이 지정된 경우

개체에 대한/그림 연결에 액세스하고 콜백 프로를 지정하면 url, height, width 및 is_silhouette 필드를 포함하는 사전을 반환하기 시작합니다 퍼티. 현재 우리는 그림 URL을 문자열로 반환합니다.

코드에서 friend.picture.url을 사용해야 사용자 그림의 URL이 포함 된 실제 문자열 속성을 가져올 수 있습니다.