OAUTH2 for Google Apis
google-oauth的Python项目详细描述
google-oauth旨在实现google oauth2。
安装
需要Python2.7或3.3+。
使用pip:
$ pip install google-oauth
或者从github下载代码并用setuptools:手动安装
$ git clone https://github.com/miedzinski/google-oauth2-service.git $ cd google-oauth $ python setup.py install
如果pyOpenSSL生成失败,请安装openssl头文件。 关于基于debian的发行版:
$ apt-get install libssl-dev
用法
此时,只实现了服务器到服务器的流。
服务帐户
的OAuth2首先,创建ServiceAccount对象。实现这一目标的最佳方法 正在使用两个类方法之一:
- ServiceAccount.from_json
- ServiceAccount.from_pkcs12
google推荐json密钥格式,所以我们将使用它。 这两种方法都记录在源代码中。
>>> key = json.load(open('/path/to/credentials.json')) >>> auth = ServiceAccount.from_json(key=key, scopes=scope) >>> auth.access_token
就是这样-OAuth2访问令牌可用作access_tokenproperty。 如果您认为令牌的生存期将比对象的长,则可以缓存它 在您选择的文件或数据库中。 否则,可以使用GoogleService.authorized_request,它是 使用适当的Authorization头可以方便地快捷到requests.request。 对该方法的后续调用不会请求新的访问令牌,除非 上一个过期了。
让我们在Google+上搜索Guuido van Rossum
>>> scope = 'https://www.googleapis.com/auth/plus.login' >>> url = 'https://www.googleapis.com/plus/v1/people' \ >>> '?query=Guuido+van+Rossum' >>> resp = auth.authorized_request(method='get', url=url)
resp现在是requests.Response的实例,我们可以从中 提取我们需要的所有数据。
文档
源代码完全用docstring文档化。
待办事项
- 实现三条腿的oauth2(用于web服务器应用程序)。
贡献
欢迎所有投稿人!确保测试通过,不要忘记 如果你编写了新的代码,就可以编写自己的测试。 如果要提交修补程序,请使用github pull请求。