2017-03-17 50 views
0

我刚开始在Android应用程序中使用Google Drive REST API。 (我不能使用Google Drive API for Android,因为应用程序需要共享文件,也许还有其他一些GDAA不支持的东西。)我坚持了几个要点。如何将客户端ID添加到适用于Java的Google Drive Client API

第一个与OAuth2.0凭证有关。我通过了Android quick start example,它工作正常。我在Google开发者控制台上设置了一个项目,并生成了一个OAuth2.0客户端ID和密码,并且还下载了JSON证书文件。但是,快速入门示例并未显示如何将任何此类代码插入到应用程序中。我在文档中发现的唯一相关内容是GoogleClientSecrets,但我没有看到有关如何在Android应用中使用该内容的任何信息。 (Java quick start example使用此功能,但未与Android帐户管理器集成,似乎不适用于Android应用)。当我运行Android版本的快速入门应用时,我的开发者控制台上没有任何活动显示,这表明我认为该应用程序正在以某种匿名模式运行。据我了解,这将限制应用程序每日非常低的交易配额。

其次,我注意到JavaScript的GDAA和REST API都有很好的文件选取器API。我在Java/Android API中找不到类似的东西。

因此,这里有我的具体问题:

  • 如何使用我的应用程序的OAuth2.0的凭据从开发者控制台的REST API为Android的Java应用程序?我觉得我只是错过了一些明显的东西。
  • 是否有Google Rest API for Android的文件选取器API?

回答

0

当我执行快速入门示例(一个痛苦的过程,因为没有源代码)时,我经历了图书馆之后,我发现了答案。事实证明,您需要在清单中指定客户端ID。具体而言,您需要<application>标签下的以下内容:

<meta-data 
    android:name="com.google.app.id" 
    android:value="app ID from your API console"/> 

一旦此内容在清单中,那么当应用程序使用谷歌驱动器REST API与谷歌的服务器进行交互,该交易被正确记录为交通您的应用的控制台。没有这个条目,该应用程序似乎在我的测试中工作,但没有流量记录。我似乎记得(从旧的谷歌I/O视频),这样的“匿名”应用程序仍然有效,但使用率很低(类似于每天10或100条查询)。

对于那些好奇的人,我在play-services-basement-10.2.0图书馆发现类com.google.android.gms.common.internal.zzz中找到了这个关键。

0

如何使用我的应用程序的OAuth2.0的凭据从开发者控制台的REST API

的页面之间https://developers.google.com/android/guides/api-client给你所有你需要知道的。尤其要注意的是,您使用的Java快速入门是用于泛型Java。 Android上的Google Play Services管理凭证和帐户的方式非常适合Android。

是否有Google Rest API for Android的文件选取器API?

不是我所知道的,但根据您的使用情况,您可能可以使用GDAA选取器。最终,GDAA和Java REST API都位于云端硬盘存储上方。

+0

我使用的Java快速入门不是用于泛型Java;它特别适用于Android的REST快速入门。有一个单独的通用Java快速入门[这里](https://developers.google.com/drive/v3/web/quickstart/java)。你指向我的网页仍然不回答我的问题。通过我的开发者控制台生成的客户端ID,我该怎么做?在我的应用程序中的任何文档(我可以找到)中没有地方放置信息。关于将REST与GDAA选取器混合使用:是否存在应用程序提示两次以获取访问用户驱动器权限的风险? –

+0

您是否已阅读https://developers.google.com/android/guides/client-auth与您发布的Android Quickstart链接中的步骤1和2相结合?重点在于,使用Play Services来管理auth对话的Android应用程序的客户端身份验证不像使用通用Java或PHP应用程序那样使用客户端ID。 – pinoyyid

+0

是的,我读过。它解释了如何在开发人员控制台中注册我的签名证书,但没有说明如何使用控制台生成的API密钥。这就是我卡住的地方。 REST Quickstart的普通Java版本显示如何读取JSON文件以获取此信息,但Android REST快速入门不显示任何此类内容。我想我正在寻找一些可以进入清单的内容,例如Google [API](https://developers.google.com/places/android-api/start#api-key) 。您是否认为Drive不需要? –

相关问题