google-app-engine - 同时使用 2 足 OAuth 和 3 足 OAuth 的 Python GAE 应用程序

标签 google-app-engine python-2.7 oauth-2.0 google-apps 2-legged

我正在编写一个 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

有人也遇到同样的问题herehere .

我期待 Google 有人解决这个问题。在那之前,对管理员级凭据进行编码是我知道它有效的唯一选择。我一点也不喜欢它:它肮脏但是有效。如果有人知道更优雅的禅宗方式,请照亮我们!

关于google-app-engine - 同时使用 2 足 OAuth 和 3 足 OAuth 的 Python GAE 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14059306/

相关文章:

python - 如何使用 Python 日志记录收集 App Engine 请求的日志?

PHP vs Golang http 调用得到不同的结果

python - Pandas 将嵌套值与其他列一起切片

c# - WebApi OAuth UseOAuthBearerAuthentication 给出 "Sequence contains more than one element"错误

oauth-2.0 - Oauth pkce 流程冒充别人的客户端

google-app-engine - 如何将键的字符串版本转换回我可以使用 get() 函数获取实体实例的形式

java - 如何让 IntelliJ 使用 Java7 作为 Google App Engine 开发服务器?

python - 将数据帧转换为系列会创建 NA

OSX 上的 Python 请求

java - 如何在java中分离授权服务器spring security