我正在编写一个Python - Google App Engine应用程序。这个应用程序必须做两件重要的事情:
- 写入用户日历。
- 在用户配置文件中写入(与Google Apps域中的用户一起工作)
第一个操作很容易。如果我理解了OAuth的话,这是经典的三条腿的场景。OAuth最初开发的场景。登录的用户向客户端(我的应用程序)提供凭据,以代表他/她访问用户的数据(日历)。因此,只需使用登录用户的凭据就可以完成此操作。
第二次手术就不那么容易了。仅使用登录用户的凭据无法完成此操作。这是一个两条腿的OAuth场景。所以,我需要委派在谷歌应用程序域管理员的帐户访问用户的配置文件使用谷歌配置文件API(通过谷歌数据库)。到目前为止,我在json文件中硬编码admin用户/密码,我的应用程序加载该文件。但这听起来有点脏对我来说。
最后,我的应用程序需要处理经典的3条腿的OAuth场景(没问题,只需要登录用户的凭据)和2条腿的OAuth场景(需要管理员凭据)。
是否有任何官方或更优雅的方式来处理这两种场景在谷歌应用程序引擎,与谷歌应用程序域工作,硬编码管理员凭据?
提前致谢
没有办法使用2-legged OAuth来授权对Google Contacts Data API的写操作。
Google的文档指定了哪些api可以通过两条腿的OAuth访问,但似乎Google的某人忘记指定其中一些是只读的:-S
有些人在这里和这里有同样的问题。
我期待有人在谷歌解决这个问题。在此之前,硬编码管理级凭据是我所知道的唯一可行的选择。我一点也不喜欢它:它脏但是有效。如果有人知道更优雅的禅级方式,请指点我们!