2017-03-17 96 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不需要? –

相關問題