2010-09-27 95 views
3

所以我試圖同步到谷歌文檔,而不必問用戶的憑據。我用這個代碼來獲得一個auth令牌:使用Android AccountManager爲gdata獲取authtoken

AccountManager mgr = AccountManager.get(activity); 
authToken = mgr.blockingGetAuthToken(account, DocsService.DOCS_SERVICE, true); 

這會返回一個身份驗證令牌看起來很好格式化。所以在我的DocsService上運行:

service.setAuthSubToken(authToken); 

但是,當我嘗試使用API​​時,我只是得到一個AuthenticationException。有關如何解決此錯誤的任何想法?

編輯:我有USE_CREDENTIALS權限。

回答

6

問題是,返回的令牌是ClientLogin令牌,而不是AuthSub令牌。更大的問題是GData Java Client庫不能正式支持Android。我們最近在GData Java Client庫的主頁上添加了一個註釋,對於Android我們推薦使用Google API Client Library for Java

兩個樣品拿出主意,這將是對你有所幫助與谷歌API客戶端庫入門的Java:calendar-v2-atom-android-sampledocs-v3-atom-oauth-sample

披露:我是兩個的GData Java客戶端庫和谷歌API客戶端的所有者用於Java項目的庫。

+0

THX笑,我會嘗試使用該庫,而不是。我也提出了更廣泛的谷歌文檔樣本的請求,它會真的幫助:) – pgsandstrom 2010-11-05 12:50:11

+1

對不起,但您的示例鏈接無法正常工作。你可以發佈任何新的鏈接? – Aram 2012-03-12 09:19:41

0

正如Yaniv所解釋的,Gdata Lib在Android中不起作用。我浪費了幾個小時沒有結果。它看起來很奇怪,它的Google產品仍然不支持自己的平臺(Android)。

無論如何,我已經開發了一個適用於Android的客戶端庫。我正在管理谷歌代碼上的項目 - http://code.google.com/p/google-spreadsheet-lib-android/

您可以試一試。

+0

是的,當然,谷歌將每個人和每件事視爲同等待遇的政策意味着,當他們的項目之一與另一個項目合作時,他們最終會在自己的腳下開槍。 (IE,谷歌服務與Android的配合良好,這對iOS和Windows以及Mac OS不公平,對每個平臺的支持必須平等)。 – ArtOfWarfare 2012-09-11 13:16:28

相關問題