2011-01-29 1 views
0

나는 모든 형태로 FQL을 사용하는 데 꽤 익숙하다. 미안하지만 간단한 질문이지만 미안하다. 내가 돌아FQL 자바 스크립트 액세스 토큰

"활성 액세스 토큰이에 대한 정보를 조회하는 데 사용되어야합니다 점점 ​​계속

var query = FB.Data.query('SELECT '+response.id+', '+response.name+' FROM friendlist from user where uid=' + response.id); 

그러나 응답 :

나는 친구 목록을 얻기 위해 시도하는 것이 코드를 현재 사용자."

나는로부터의 응답 객체를 철수 할 때/나 나는 같은 위치, 이름, 직장, 모든 내 정보를 볼 쿼리하지만

코드는 같은 시작 토큰 모든 액세스가 표시되지 않습니다 이 :

window.fbAsyncInit = function() { 
      FB.init({appId: '12...0', status: true, cookie: true, xfbml: true}); 

      /* All the events registered */ 
      FB.Event.subscribe('auth.login', function(response) { 
       // do something with response 
       login(); 
      }); 
      FB.Event.subscribe('auth.logout', function(response) { 
       // do something with response 
       logout(); 
      }); 

      FB.getLoginStatus(function(response) { 
       if (response.session) { 
        // logged in and connected user, someone you know 
        login(); 
       } 
      }); 

어떻게 액세스 토큰을 얻고 FQL 쿼리를 제공합니까?

미리 조언 해 주셔서 감사합니다.

답변

4

당신이 사용자에 정상적으로 로그인 한 후 페이스 북이 제공된다 (FQL 쿼리 포함) 그래프 API에 대한 모든 유형의 요청을하기 위해 사용해야하는 액세스 토큰.

당신이 불을 지르고를 사용하는 경우 사용자가 로그인 한 후 console.log(response)을 수신하면 수신 한 개체를 볼 수 있습니다. perms, sessionstatus :

FB.Event.subscribe('auth.login', function(response) { 
    console.log(response); 
    // do something with response 
    login(); 
}); 

이 3 곳을 포함해야합니다. perms에는 사용자가 부여한 사용 권한 목록이 들어 있습니다. status은 현재 사용자의 상태입니다. 당신에게 중요한 것은 session 속성입니다. 이 객체는 API에 요청하는 데 사용할 수있는 access_token 속성 (문자열)이있는 객체이기도합니다.

그래서 쿼리는 다음과 같이 보일 수 있습니다 :

var query = FB.Data.query('SELECT '+response.id+', '+response.name+' FROM friendlist from user where uid=' + response.id + '&access_token='+response.session.access_token); 

을 당신이 더 나은 방법으로 세션을 얻을 현재 세션을 반환 FB.getSession을 사용합니다. 더 많은 정보 here.

행운을 빈다.

+0

큰 설명에 감사드립니다! –

+0

당신은 환영합니다 :) – misterjinx