这是使用Google Drive API for Android的正确方法吗?

时间:2017-02-09 23:49:05

标签: android credentials google-drive-android-api

我想根据Storing Application Data尝试针对Android的Google Drive API,特别是AppFolder,以存储用户在我的应用中生成的数据,并使用它在设备之间进行同步。

因为我可能需要这个API才能使用凭证(请参阅其他一些关于返回RESULT_CANCELLED的解析意图的SO帖子)。所以我去https://console.cloud.google.com/apis/credentials并按下“创建凭据”按钮。我被提供下拉列表与(其中包括)选项“帮助我选择”。很好,或者我想。我选了那个。在接下来的屏幕上,我被问了几个问题:

您使用的是哪种API? - >我选择了Google Drive API 你将从哪里调用API? - >我选择了Android 您将访问哪些数据? - >此时提供了两个选项:用户数据(访问属于Google用户的数据,经过他们的许可)和
应用程序数据(访问属于您自己的应用程序的数据)。

我选择了ApplicationData,因为我只想保存使用我的应用程序生成的数据,而不是访问其Google云端硬盘上的其他用户数据。 Buuutttt ...一旦我选择了应用程序数据,就会出现一个弹出窗口,其中包含以下文字:

  

无法从Android安全访问应用程序数据。请   考虑选择另一个平台。

为什么呢?在我给出的第一个链接中,Google Drive AppFolder是一种存储应用数据的方法。在这里它说这不是一个安全的访问。我是否理解错误或谷歌方面的这种不一致? 或者我应该忽略这个警告? 什么是正确的方法?

编辑: 事实证明,您甚至无法继续使用“应用程序数据”选项,因此我选择了“用户数据”并创建了OAuth 2.0客户端ID。但是......这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

从此documentation开始,您的应用程序必须使用OAuth 2.0来授权请求​​。不支持其他授权协议。如果您的应用程序使用Google Sign-In,则会为您处理授权的某些方面。您可以按照tutorial了解如何获取Android证书并注册您的应用程序。

" ...我需要凭据才能使此API工作"

按照以下步骤在Google Developers Console中创建适合您项目的凭据:

  1. 打开Credentials page
  2. 如果您的应用需要提交授权请求,请执行以下步骤:

    • 点击添加凭据> OAuth 2.0客户端ID
    • 选择 Android
    • 套餐名称字段中,输入您的Android应用package name
    • 将SHA1指纹粘贴到请求的表单中。
    • 点击创建

    否则,请按照以下步骤操作,这些步骤适用于仅需要进行未经授权的API调用的应用程序:

    • 点击添加凭据> API密钥
    • 选择 Android密钥
    • 将SHA1指纹粘贴到请求的表单中。
    • 在您要求的表单中输入您的Android应用包名称。
    • 点击创建
  3. 希望这有帮助!