0

SSOにはAndroidSDKにFacebookを使用しています。

私のアクティビティはfb.authorize()、OAuthを実行する関数を呼び出します。この関数DialogListenerでは、OAuthの結果に応じて適切なアクションを実行する責任があるオブジェクトへの参照を提供します。ユーザーがFBアプリから戻って、DialogListenerオブジェクトが失われるまでに、OSがアクティビティを強制終了した可能性があります。その場合、DialogListenerで取得するはずだったAccessTokenを取得する方法はありません。

この状況に対処する方法は?

4

2 に答える 2

0

あなたは呼び出すことができます:

mFB.getAccessToken()

ただし、セッションをSharedPreferencesに保存して、ローカルで再利用することができます。トークンは期限切れになり、再度必要になったときに要求されて保存されます。

https://github.com/facebook/facebook-android-sdk/blob/master/examples/simple/src/com/facebook/android/SessionStore.java

于 2012-08-03T13:57:55.687 に答える
0

私はこれに自分で答えています。

OAuthを実行した後のFacebookアプリは、取得したインテントデータを返します。onActivityResult();を呼び出す必要がありmFB.authorizeCallback()ますonActivityResult

この関数のソースを調べると、インテントデータから関数を抽出する方法がわかります。そうすることで、onActivityResultでアクセストークンを取得できます。

ソースへのリンクは 次のとおりですhttps://github.com/facebook/facebook-android-sdk/blob/master/facebook/src/com/facebook/android/Facebook.java#L417

于 2012-11-27T09:42:35.880 に答える