2012-04-12 2 views
2

Facebook Plugin Javascript SDK http://developers.facebook.com/docs/reference/javascript/을 사용하여 Facebook 앱을 인증하고 승인합니다. 다음과 같이 내 SDK 코드가 될 것이다 :자바 스크립트 SDK의 Facebook 액세스 토큰 만료 처리

window.fbAsyncInit = function() 
{ 
    FB.init({ 
     appId : 'MY_APP_ID', 
     status : true, // check login status 
     cookie : true, // enable cookies to allow the server to access the session 
     xfbml : true, // parse XFBML 
     oauth : true 
    }); 

    FB.login(function(response) 
    { 
     if (response.authResponse) 
     { 
      var userFBAccessToken = response.authResponse.accessToken; 
      console.log('userFBAccessToken: ' + userFBAccessToken); 
      FB.api('/me', function(response) 
      { 
       console.log('Good to see you, ' + response.name + '.'); 
       FB.logout(function(response) { 
        console.log('Logged out.'); 
       }); 
      }); 
     } else { 
      console.log('User cancelled login or did not fully authorize.'); 
     } 
    }, {scope: 'user_activities,user_notes,user_photos,user_videos,user_status,offline_access'}); 
}; 

// Load the SDK Asynchronously 
(function() { 
    var e = document.createElement('script'); e.async = true; 
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
    document.getElementById('fb-root').appendChild(e); 
}()); 

내가 offline_access 중단과 혼란 스러워요. 내 질문은 여기에 내 앱 고급 설정 페이지에서 '오프라인 액세스를 비추천'옵션을 선택하면, 다음과 같습니다

  1. 내가 response.authResponse.accessToken로부터받은 액세스 토큰의 만료 시간이 될 것입니다 무엇. 2 시간이든 60 일이든간에? (2012 년 5 월 1 일 이후의 기간은 얼마입니까?)

  2. 단지 2 시간이면 60 일까지 연장 할 수 있습니까?

  3. 검색된 액세스 토큰은 사용자가 온라인에있을 때만 유효한지, 아니면 오프라인 일 때 유효합니다.

감사합니다.

+0

누구든지 위 질문에 대한 답변을 제공 할 수 있습니까? 고맙습니다. – Venkat

+0

나는 대답에도 불구하고 여전히 약간 혼란 스럽다. javascript sdk가 앱 비결이 필요하기 때문에 서버 측에서 여전히이를 수행해야합니다. 이 작업을 수행 한 후 클라이언트에게 반환하면 어떻게됩니까? (FB.init가 호출 될 때 브라우저가 새로운 액세스 스탁에 대해 알게하십시오)? 또한 iOS SDK가 자동으로 확장합니다. 방법? 언제든지 iOS SDK에 앱 비공개를 제공하지 않습니다. 페이스 북은 이것이 iOS 기기라는 것을 어떻게 신뢰성있게 알 수 있습니까? –

답변

1

1 + 2. 만료일은 2 시간입니다. 만료 후 연장해야합니다. https://developers.facebook.com/roadmap/offline-access-removal/

  1. 은 항상 유효해야합니다 : 연장에 대한 요청은 '새 엔드 포인트를 통해 클라이언트 측의 OAuth 및 확장 access_token이 만료 시간'에 여기에 설명되어 있습니다.
+0

감사합니다. 이제 나는 분명하다. – Venkat

+0

access_token을 확장하기위한 코드 예제는 무엇입니까? 현재 페이스 북 PHP SDK로 할 수 있습니까? –

+3

URL에 확장 요청의 예가 있습니다. PHP SDK를 통해 액세스 토큰을 얻으면 액세스 토큰이 2 개월 동안 자동으로 부여됩니다. –