我刚开始在Android应用中使用Google Drive REST API。 (我不能使用Google Drive API for Android,因为应用程序需要共享文件,也许还有其他一些东西,GDAA不支持。)我坚持了几点。
第一个与OAuth2.0凭据有关。我浏览了Android quick start example,它运行正常。我在Google开发者控制台上设置了一个项目,并生成了OAuth2.0客户端ID和密码,还下载了JSON凭证文件。但是,快速入门示例未显示如何将任何此类插入应用程序。我在文档中找到的唯一相似的内容是GoogleClientSecrets
,但我没有看到任何关于如何在Android应用中使用它的内容。 (Java quick start example使用此功能,但它未与Android的客户经理集成,并且似乎不适用于Android应用。)当我运行Android版本的快速启动应用时,我的开发者控制台上没有显示任何活动,这告诉我该应用程序以某种匿名模式运行。据我了解,这将限制应用程序的每日交易配额非常低。
其次,我注意到GDAA和REST API for JavaScript都有很好的文件选择器API。我在Java / Android API中找不到类似的东西。
所以这是我的具体问题:
答案 0 :(得分:1)
在执行Quickstart示例(一个痛苦的过程,因为没有源代码)后单步执行库,我发现了答案。事实证明,您需要在清单中指定客户端ID。具体而言,您需要<application>
标记下的以下内容:
<meta-data
android:name="com.google.app.id"
android:value="app ID from your API console"/>
此条目在清单中后,当应用使用Google云端硬盘REST API与Google服务器进行互动时,该交易会在应用控制台中正确记录为流量。没有这个条目,该应用程序似乎在我的测试中工作,但没有记录任何流量。我似乎记得(来自旧的Google I / O视频)这样的“匿名”应用程序仍然有效,但使用率非常低(每天10或100次查询)。
对于那些好奇的人,我在com.google.android.gms.common.internal.zzz
库中的play-services-basement-10.2.0
课程中找到了这个键。
答案 1 :(得分:0)
如何在REST API中使用开发者控制台中我应用的OAuth2.0凭据
https://developers.google.com/android/guides/api-client周围的页面为您提供了所有需要了解的信息。特别要注意的是,您使用的Java Quickstart是针对通用Java的。 Android上的Google Play服务管理凭据和帐户的方式非常适合Android。
Google Rest API for Android是否有文件选择器API?
我不知道,但根据您的使用情况,您可以使用GDAA选择器。最终,GDAA和Java REST API都是Drive存储上方的层。
答案 2 :(得分:0)
将从Google API控制台下载的client_id.json文件保存到应用程序的src / main / res目录中。
我一模一样,但在使用包含文件的应用程序构建应用后,Google API开始起作用。