我正在编写一个 Python - Google App Engine 应用程序。这个应用程序必须做两件重要的事情:
- 写入用户的日历。
- 写入用户的个人资料(与 Google Apps 域中的用户合作)
第一次操作很简单。如果我理解 OAuth,这就是经典的三足场景。 OAuth 最初开发的场景。登录的用户向客户端(我的应用程序)提供凭据,以代表他/她访问用户的数据(日历)。因此,只需使用登录用户的凭据即可完成此操作。
第二次操作就没那么容易了。仅使用登录用户的凭据无法完成此操作。这是一个双腿 OAuth 场景。因此,我需要委托(delegate) Google Apps 域管理员帐户使用 Google Profiles API(通过 Google 数据库)访问用户的个人资料。到目前为止,我在 json 文件中硬编码了管理员用户/密码,并且我的应用程序加载该文件。但这对我来说听起来有点肮脏。
最后,我的应用程序需要处理经典的 3 足 OAuth 场景(没问题,只需要登录用户的凭据)加上 2 足 OAuth 场景(需要管理员凭据)。
是否有任何官方或更优雅的方式来处理 Google App Engine 中的这两种情况,即与 Google Apps 域一起使用,即硬编码管理员凭据?
提前非常感谢
最佳答案
据我所知,无法使用 2-legged OAuth 授权对 Google Contacts Data API 的写入操作。
Google's documentation specifies which APIs are accessible via 2-legged OAuth ,但似乎 Google 的某个人忘记指定其中一些是只读的 :-S
我期待 Google 有人解决这个问题。在那之前,对管理员级凭据进行编码是我知道它有效的唯一选择。我一点也不喜欢它:它肮脏但是有效。如果有人知道更优雅的禅宗方式,请照亮我们!
关于google-app-engine - 同时使用 2 足 OAuth 和 3 足 OAuth 的 Python GAE 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14059306/