2012-10-24 2 views
3

을 가지고 있고 그것은 이상 이년페이스 북 All.Js 나는 페이스 북 JS SDK를 사용하여 웹 사이트를 새로운 오류

오늘 페이스 북의 부분 (i가의 탭에서 사용자의 타임 라인을 표시하려면 SDK를 사용하기 때문에 완벽하게 작동하고 메인 페이지가) 작동이 중지 및 페이지가로드가 나에게 어떤 도움을 이해할 수있을 것이다

이 자바 스크립트 오류를 ​​제공 할 때

오류 : 오류 : http://connect.facebook.net/en_US/all.js 라인 : 37 식 string 유형이다,하지 소스 파일을 객체

+0

같은 문제가 여기 –

답변

5

FB.Data.waitOnFB.Data.query을 바꾸는 것만 큼 간단하지 않습니다.

함수 호출을 사용하여 사용자가 publish_stream 내 응용 프로그램의 사용 권한을 수락했는지 여부를 우아하게 테스트하기위한 호출을 FQL 호출합니다. 이처럼 :

FB.api('/me', function(response) { 
    var user_id = response.id; 
    var query = FB.Data.query('select publish_stream from permissions where uid={0}', user_id); 
    query.wait(function(rows) { 
     if (rows[0].publish_stream == 1) { 
      //user has accepted our publish_stream permissions 
     } else { 
      //user has not accepted our publish_stream permissions 
     } 
    }); 
}); 

인터넷 검색을하고 끔찍한 페이스 북의 개발자 포럼을 검색 한 후, 내가 여기에 또 다른 포스트 check for extended permissions with new facebook javascript sdk

에 걸쳐 올 때까지 내가 할 수 내 솔루션을 마련 다음이었다 내가 찾던 찾을 수 없습니다 :

FB.api('/me/permissions', function(response) { 
    if (response && response.data) { 
     var permissions = response.data.shift(); 
     //console.log(permissions); 
     if (!permissions || (!permissions.publish_stream) || (permissions.publish_stream == 0)) { 
      //user has not accepted our publish_stream permissions 
     } else { 
      //user has accepted our publish_stream permissions 
     } 
    } 
}); 
+0

그냥 좋은 멋진. –

+0

예기치 않은 서버 동작의 경우 "정의되지 않은"문제를 피하기 위해 추가 검사를 추가했습니다. –

+0

여기와 동일합니다. FB.Data.query가 더 이상 작동하지 않습니다. FB.api 호출로 바꿉니다. 그것은 나를 위해 일했다! – ncz