Android授权google drive api

时间:2015-09-29 02:48:34

标签: android google-drive-android-api

我希望能够从用户的Google云端硬盘帐户上传和下载。

上传和下载工作正常,问题是授权帐户。

到目前为止,我使用android调试密钥库来构建实际的下载和上传类,但是当我想切换到我自己的应用程序时,它就停止了工作。

我已在Google云端硬盘控制台中启用了Drive API,并已下载client_secret.json文件并将其放入assets文件夹中。我不知道如何在授权中使用它。

所以基本上如何授权帐户在Android中使用Google驱动程序API。请注意,我的DriveScope是DRIVE,意味着可以完全控制给定的Google云端硬盘帐户。

这是我用来访问谷歌驱动器文件的代码。我按照此链接上的教程:https://developers.google.com/drive/web/quickstart/android

googleAccountCredential = GoogleAccountCredential.usingOAuth2(
            getActivity().getApplicationContext(), Arrays.asList(SCOPES))
            .setBackOff(new ExponentialBackOff())
            .setSelectedAccountName(getArguments().getString("account"));

    driveService = new Drive.Builder(
            transport, jsonFactory, googleAccountCredential)
            .setApplicationName("myAPP")
            .build();

1 个答案:

答案 0 :(得分:3)

很可能只是您的授权项目不匹配。对于Android应用,授权包含2个essential items,必须在developers console(OMG,他们再次重新洗牌!!!)中按顺序排列。你不需要' client_secret.json'。

  1. API& auth - >凭证 - >凭证 - > Android客户端1' SHA1' 必须同步与您的' Pakage名称'
  2. API& auth - >凭证 - > OAuth同意屏幕必须拥有您的产品名称'和'电子邮件地址'
  3. 我猜测通过切换到'发布'您的应用版本,'包名称' /' SHA1'您正在生成与开发人员控制台不同步(您的IDE指向不同的密钥库,从而拉出不正确的SHA1)。

    这是最后一个沟渠'检查我遇到麻烦时使用。

    1. 找到无效的APK。打开' *。apk'以unzipper(7-zip)文件并找到' META-INF \ CERT.RSA'存档中的文件。将其解压缩,例如解压缩到桌面
    2. 运行' keytool -printcert -file。\ desktop \ CERT.RSA'。
    3. 你应该看到' SHA1'的APK文件将它与' SHA1'进行比较在开发控制台中。检查包名称(它在您的清单中)。 '包裹名称' /' SHA1'对是在Google云端硬盘中授权应用版本的内容。
    4. 祝你好运