2011-04-29 79 views
3

服務器位於Google App Engine上,客戶端是Android移動應用程序。我想通過GAE上的REST API使用用戶API從Android登錄用戶。如何在Google App Engine和Android上使用Google用戶API

在用戶API文檔中,它看起來像鍵(在服務器上構造用戶對象)是電子郵件。但我被告知有一種方法可以通過和oauth令牌獲取用戶對象。這意味着你會調用users.get_current_user()並且該標記將被自動用於獲取該用戶對象。

問題:

1 - 是否有這個過程(代碼)任何可用的例子嗎? 2 - 用戶API期望在哪裏找到宣誓令牌?作爲請求參數?是否在調用get_current_user()時自動注入令牌?

謝謝!

+0

我想做同樣的事情,只有我沒有使用OAuth。相反,我使用谷歌的身份驗證。我試圖通過ASID cookie傳遞請求來獲取User對象,但我總是從getCurrentUser()返回null。我在這裏發佈了這個問題:http://stackoverflow.com/questions/9811730/login-to-appengine-from-android-client。我在appengine上使用java,雖然 – Patrick 2012-03-22 12:38:37

回答

3

OAuth API文檔:

from google.appengine.api import oauth 

user = oauth.get_current_user() 

憑藉有效的OAuth要求,這將返回一個db.User對象就像users.get_current_user()。

您的應用的OAuth端點URL詳細顯示在同一頁面上。

+0

謝謝,這對我來說很清楚,剩下的一個問題。 「一旦獲得授權,消費者就會呼叫服務提供商獲取訪問令牌,消費者會將該令牌包含所有對應用Web服務端點的請求。」 - 如何提供令牌?作爲查詢字符串參數? – 2011-04-29 18:48:13

+0

訪問令牌包含在Authorization標頭中。請參閱示例@ http://code.google.com/apis/accounts/docs/OAuth_ref.html#SigningOAuth – 2011-04-29 18:55:13