首页 > 解决方案 > Android:上传到 Google 云端硬盘?

问题描述

我的 android 应用程序需要将文件上传到谷歌驱动器。

乍一看,我决定使用Google Drive Android API,但似乎没有上传音频文件的方法。

所以我决定使用Google Drive REST API,但现在我在授权我的应用程序时遇到了问题。文档说要使用 Google Api Client Library for Java,并给出了一个例子:

GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(this, DriveScopes.DRIVE);
credential.setSelectedAccountName(accountName);
Drive service = new Drive.Builder(AndroidHttp.newCompatibleTransport(), new GsonFactory(), credential).build();

然后还有:

try {
    // Try to perform a Drive API request, for instance:
    // File file = service.files().insert(body, mediaContent).execute();
} catch (UserRecoverableAuthIOException e) {
    startActivityForResult(e.getIntent(), COMPLETE_AUTHORIZATION_REQUEST_CODE);
}

首先,如果我只想发送授权请求,我应该如何提供 accountName?我有一个带有登录按钮的活动,当我单击它时,我想向身份验证服务器询问令牌(使用 Android 的 Drive APIs 这很容易,只需要发送从我的 GoogleSignIn 实例获取的意图)。

其次, service.files().create 方法(我认为 insert 方法来自旧版本)不会抛出 UserRecoverableAuthIOException,所以我不能像e.getIntent(). 所以我无法登录。

我真的被卡住了,我尝试了很多东西,但我真的不知道如何继续。

(tl;博士) 我怎么能:

  1. 授权我的应用访问我的谷歌驱动器文件
  2. 将 .mp4 文件上传到该 Google Drive 帐户

???

感谢您的时间。

标签: javaandroidgoogle-drive-apigoogle-drive-android-api

解决方案


推荐阅读