OAUTH2 for Google Apis

google-oauth的Python项目详细描述


https://img.shields.io/travis/miedzinski/google-oauth.svghttps://img.shields.io/codecov/c/github/miedzinski/google-oauth.svg

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请求。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
无法使用windows x86上的Java验证在linux x64上签名的数字签名   java Firebase通过键从子级检索数据   Java缓存网络文件   java独立jdbcpool实现内存泄漏   java为什么MVN在成功构建时返回1?   java maven正在抛出BoundsException数组   Java:是否可以有“嵌套”映射方法(Java.util.stream)?   java无法使用GSON解析JSON文件   java Spring Groovy集成   java使用SAX解析器,需要所有xml元素(在特定元素下)作为字符串   java列出内容提供商Android 3.1中的内容   java如何使用带有spring api的JPA查询进行软删除?   java隐藏我的socket构造函数以隐藏IP和端口   Java将(JEP359)记录为Spring控制器请求和响应DTO   java在数组中循环时忽略空值   RESTAPI端点的java发现模式   java HTTPs在jmeter中发布带有头的请求测试,并将测试结果保存在mongodb中,并在grafana中显示