我想根据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。但是......这是正确的方法吗?
答案 0 :(得分:0)
从此documentation开始,您的应用程序必须使用OAuth 2.0来授权请求。不支持其他授权协议。如果您的应用程序使用Google Sign-In,则会为您处理授权的某些方面。您可以按照tutorial了解如何获取Android证书并注册您的应用程序。
" ...我需要凭据才能使此API工作"
按照以下步骤在Google Developers Console中创建适合您项目的凭据:
如果您的应用需要提交授权请求,请执行以下步骤:
否则,请按照以下步骤操作,这些步骤适用于仅需要进行未经授权的API调用的应用程序:
希望这有帮助!