2014-11-05 164 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代码中完成。

相关问题