在Android Google Drive API中,可以使用Google账户进行账户登录,但是用户必须手动输入账户和密码。如果您想让应用程序自动使用预定义的Google账户进行身份验证,可以使用Android的Google API Client Library提供的GoogleAccountCredential类来实现.
首先,您需要在应用级别的build.gradle文件中添加以下依赖项:
dependencies {
implementation 'com.google.android.gms:play-services-auth:19.0.0'
}
接下来,在您的Activity中初始化Drive API客户端并设置Google帐户凭据。您可以直接从SharedPreferences中获取您的Google帐户的用户名和访问令牌。对于演示目的,下面是一个简单的示例代码:
import com.google.android.gms.auth.GoogleAuthException;
import com.google.android.gms.auth.GoogleAuthUtil;
import com.google.android.gms.auth.GooglePlayServicesAvailabilityException;
import com.google.android.gms.auth.GooglePlayServicesUtil;
import com.google.android.gms.auth.UserRecoverableAuthException;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.common.api.Scope;
import com.google.android.gms.drive.Drive;
public class MainActivity extends Activity {
private static final int REQUEST_CODE_RESOLUTION = 1;
private GoogleApiClient mGoogleApiClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Define the credential using the predefined Google account
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
String accountName = settings.getString(PREF_ACCOUNT_NAME, null);
if (accountName != null) {
GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(
this, Arrays.asList(DriveScopes.DRIVE_FILE));
credential.setSelectedAccountName(accountName);
// Build the Drive API client
mGoogleApiClient = new Builder(this)
.addApi(Drive.API)
.addScope(Drive.SCOPE_FILE)
.setAccountName(accountName)
.build();
}
}
@Override
protected void onStart() {
super.onStart();
上一篇:AndroidGoogle地图上无法填充多边形的背景颜色
下一篇:AndroidGoogleDrivev3API文件未创建/存储特定应用程序文件夹,而是在我的驱动器部分创建名称为'Untitile”的文件。