我需要在python中使用哪种Google身份验证方法用于命令行脚本

时间:2013-08-20 06:41:08

标签: python oauth-2.0 google-calendar-api

我真的对Google OAuth 2感到困惑。

我的要求不是他们在所有文档中描述的redirect usergoogle login page

我的要求是我有python脚本,我想作为cron作业运行,可以访问我的日历事件只读目的

他们所有的文档都提到重新浏览到浏览器来验证用户,但没有提到我可以验证我的个人帐户,就像输入我的username and password一样简单,但我在他们的文档中找不到任何内容

我读了这个

https://developers.google.com/accounts/docs/OAuth2ServiceAccount#libraries

他们告诉使用JWT,但他们没有提到如何在任何代码中执行此操作

{"alg":"RS256","typ":"JWT"}.
{
"iss":"761326798069-r5mljlln1rd4lrbhg75efgigp36m78j5@developer.gserviceaccount.com",
"scope":"https://www.googleapis.com/auth/prediction",
"aud":"https://accounts.google.com/o/oauth2/token",
"exp":1328554385,
"iat":1328550785
}.
[signature bytes]

我不确定只是在API的V3中访问我的个人日历会很难

1 个答案:

答案 0 :(得分:1)

我会使用foauth.org,这使得OAuth 2.0变得更加简单。您还可以使用允许与foauth.org互动的requests-foauth library

另一个简单的(我的意思是干净,简洁和pythonic)库是python-foauth2,它带有一个使用谷歌API的完整示例。

一些注意事项:

  • OAuth2服务帐户适用于服务器到服务器应用程序,这意味着它不应与您的帐户(或您的日历)绑定。

  • 对于脚本,最好遵循OAuth2 for installed apps的说明;打开浏览器以授权应用程序/脚本并获取可以兑换令牌的代码。 OAuth2 for devices的说明几乎相同,但提供了2个代码,一个用于在浏览器中输入,另一个用于存储在设备上(或两者都来自计算机......)。