0

페이스 북의 현재 세션에서 Facebook의 긴 수명 토큰을 사용하는 문제로 몇 시간 싸우다 왔습니다. 다음과 같이페이스 북의 긴 수명 토큰 사용하기

응용 프로그램의 흐름은 다음과 같습니다 1) 사용자에 안드로이드 응용 프로그램과 클릭을 시작하는 버튼 '페이스 북으로 로그인'그들이 자신의 계정의 특정 부분에 대한 액세스를 제공 2) 사용자는 페이스 북에 리디렉션 (친구 목록, 이메일 등) 3) 사용자가 내 응용 프로그램으로 리다이렉션되어 세션 객체가 열리고 (다른 정보 중에서) 단기 액세스 토큰을 검색합니다. 4) 나는이 단기 액세스 토큰을 내 서버 응용 프로그램에 전달합니다. 내 서버 응용 프로그램은 Facebook에 대한 또 다른 호출을 수행하여 내 서버 응용 프로그램이 내 응용 프로그램으로 반환하는 수명이 긴 토큰에 대한 단기 토큰을 교환합니다.

장기 액세스 토큰을받은 후 어떻게 장기간 액세스 토큰을 Facebook에 대한 후속 요청에 사용하도록 기존 세션 (Session.getActiveSession())을 사용하거나 수정하여 유효합니까? (나는 믿는다) 60 일?

현재 Android SDK의 최신 버전을 사용하고 있습니다.

도움을 주시면 감사하겠습니다.

감사합니다. https://developers.facebook.com/docs/reference/android/current/class/Session/#class_methods에서 워드 프로세서

답변

1

나는

openActiveSessionWithAccessToken(Context, AccessToken, StatusCallback) 방법이 있다고 볼 수 있습니다.

설명 :

는 기존 페이스 북 액세스 토큰을 기반으로 세션을 엽니 다, 또한 이 세션을 현재 활성화 된 세션을합니다. 이 메서드는 응용 프로그램이 이전에 액세스 토큰을 가져 와서 Session/TokenCachingStrategy 기반 세션 관리 시스템으로 가져 오려는 경우에만 사용되는 이어야합니다. A 기본 예제는 이전에 Android 용 Facebook SDK 인 을 사용하지 않고 자체적으로 세션 관리 체계를 구현했지만 기존 사용자의 업그레이드 경로를 구현하고자 할 때 사용하기 때문에 다시 로그인 할 필요가 없을 때 SDK를 사용하는 앱의 버전으로 업그레이드하십시오. 일반적으로이 방법은 이후에 앱이 업그레이드되었음을 감지하면 번만 호출되며, 일반적인 세션 수명주기 방법을 사용하여 세션 및 관련 토큰을 관리해야합니다.

토큰, 토큰 소스 또는 사용 권한이 실제로 이라는 유효성 검사가 수행되지 않습니다. 이 이 전달 된 토큰의 상태를 정확하게 반영하는지 확인하려면 호출자의 책임입니다. 그렇지 않으면 호출이 실패 할 수 있습니다.

시도해 보셨습니까?

+0

안녕하세요. Tobi, 나는 그것을 시도했습니다. 먼저 세션을 닫은 다음 해당 메서드를 호출하려고 시도했습니다. 이로 인해 오류가 발생했습니다. 그런 다음 세션을 닫지 않으려 고 시도한 다음 'openActiveSessionWithAccessToken'메서드를 호출하고 실제로이 세션을 종료했습니다. 나는 이것을 다시 시험해보고 정확한 오류 메시지를 게시 할 것이다. 그래도 답장을 보내 주셔서 감사합니다! – thisguy