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