我試過this來自谷歌的示例,通過Google Drive進行身份驗證,它可以正常工作。但問題是,我不知道如何恢復用戶以前的成功登錄。
例如,當用戶登錄成功時,下次他們進入我的應用程序時,他們不需要再次登錄。我在GoogleAccountCredential
類看,它只有getToken
方法,並沒有'setToken`,所以我不知道該怎麼做。該文件沒有提到任何有關它。
這是我的嘗試:保存並恢復Google Drive的令牌android
credential = GoogleAccountCredential.usingOAuth2(context, DriveScopes.DRIVE);
// try to add login account into credential
String accountName = SharePreferenceHelper.getDriveAccount(context);
if (accountName != null) {
credential.setSelectedAccountName(accountName);
service = getDriveService(credential);
}
// try to get token again
try {
String token = credential.getToken();
Log.d(TAG,"token = " + token);
} catch (UserRecoverableAuthException ex) {
startActivityForResult(ex.getIntent(), requestCode);
}
是否有人知道該怎麼辦呢?
謝謝,其實我做到了,但它不起作用。我發現我的問題是用錯誤的上下文初始化GoogleAccountCredential(我把它放到服務中),所以我必須使用getApplicationContext()來初始化憑證,就像這樣:http://stackoverflow.com/questions/17431727/drive -sdk換Android的authintent-是空的 – R4j