2014-11-05 162 views
2

我試圖從瀏覽器外部訪問我的GAE應用程序。 目前它是Python腳本,但我正在計劃桌面C++應用程序。通過Google App Engine身份驗證

我在休業Using OAuth 2.0 for Installed Applications

到目前爲止,我設法訪問用戶信息:

https://www.googleapis.com/oauth2/v1/userinfo?alt=json 

但是我的GAE每次通話結束了重定向到登錄頁面。

有沒有辦法通過腳本對GAE進行認證調用?

請看看my test code

我的目標:

作爲認證 我的本地機器從我的GAE應用程序獲取數據(JSON端點,靜態文件,HTML,等等)上

使用Python腳本用戶。

+0

您是否設置了GAE頁面以要求登錄?如果是這樣,你所看到的是預期的。你不會說你的GAE應用是什麼,但我會認爲它是一個REST端點。 REST應該是無狀態的,這樣每個呼叫都需要攜帶自己的承載令牌,然後REST終端可以驗證它。 – pinoyyid 2014-11-07 19:36:14

+0

你說得對,它是app.yaml中需要登錄的休息端點。我使用與Google API相同的方式添加不記名令牌。但是,在撥打Google時,我只能登錄一次。 – Fuxi 2014-11-07 23:31:42

+0

您需要從您的yaml中移除您的端點URL的登錄要求。記住,login = session = state,而REST是無狀態的。 – pinoyyid 2014-11-08 04:40:09

回答

0

我相信這是使用ClientLogin(不建議使用)https://developers.google.com/accounts/docs/AuthForInstalledApps的一種可能。

但是,我發現僅僅使用API​​祕密字符串(在標頭中,通過HTTPS)來說明請求來自已批准的腳本要容易得多。

或者,您可以使用您自己的oauth應用程序執行oauth登錄流程(無論您需要哪種流程),但是您不想在app.yaml中使用任何login:標記,只需在您的Python代碼中完成。

相關問題