3
ユーザーが権限を取り消した後にユーザーを再認証するという問題に困惑しています。ユーザーがアプリケーションの許可を取り消すと、Facebookに投稿するようなことをしようとするとエラーダイアログが表示されます。ただし、authorize()
は呼び出されていません。それは私のコードAndroid - ユーザーが権限を取り消したときにFacebookのエラーで権限が呼び出されない
public void doAuthentication()
{
// here all your FB authentication related stuff.
mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null);
long expires = mPrefs.getLong("access_expires", 0);
if(access_token != null) {
facebook.setAccessToken(access_token);
}
if(expires != 0) {
facebook.setAccessExpires(expires);
}
/*
* Only call authorize if the access_token has expired.
*/
if(!facebook.isSessionValid()) {
facebook.authorize(Cats.this, new String[] { "publish_stream", "read_stream", "publish_checkins", "offline_access"}, new DialogListener() {
@Override
public void onComplete(Bundle values)
{
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token", facebook.getAccessToken());
editor.putLong("access_expires", facebook.getAccessExpires());
editor.commit();
}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
あなたの問題はここに何の問題ですか?ユーザーを認証フローに戻すことはできません。 – Igy
はい。ユーザーが権限を取り消して情報の共有/投稿を試みると、フェイスブックのエラーダイアログが表示され、再度アクセス許可を求めることはありません。 – Hend
申し訳ありませんが、私はAndroid SDKに十分に精通していません。一般的なケースでは、ユーザーに再認証を要求するような問題はないはずです(アプリを完全にブロックせず、単にアクセス許可を削除したと仮定して)。しかし、なぜAndroid SDKの認証フローがわかりませんあなたのために働かないだろう – Igy