我使用Android和Facebook連接有一個簡單的應用程序發佈到用戶的牆上。如果官方Facebook應用程序未安裝,認證系統似乎可以正常工作 - 它會打開一個webview,用戶登錄並從此開始應用程序工作。但是,如果用戶安裝了官方應用程序,身份驗證代碼會打開一個白色屏幕,頂部帶有藍色的facebook橫幅,並帶有一個加載彈出對話框。這運行了大約一秒鐘,然後直接回到我的應用程序。但是,沒有顯示權限或登錄屏幕,如示例中所示。該應用程序也沒有收到訪問令牌。有誰知道什麼是錯的?我的登錄代碼如下:Android/Facebook - 沒有權限/登錄屏幕與應用程序
public void authFb(){
if(!facebook.isSessionValid()) {
facebook.authorize(this, new String[] {"publish_stream", "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() {}
});
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
「臉譜」變量只是一個Facebook(HASH)對象。
你需要找出什麼是在響應發生。您應該將日誌記錄語句添加到所有這些空方法來轉儲出任何響應。我敢打賭,FacebookError()回來了。不知道究竟是什麼。記錄它。 –
FacebookError輸出「invalid_key」。我不明白 - 這是否意味着我的散列不正確?如果是這樣,爲什麼它沒有應用程序工作? –