OAuth2client 项目使用教程
1. 项目的目录结构及介绍
oauth2client/
├── CONTRIBUTING.md
├── LICENSE
├── MANIFEST.in
├── README.md
├── oauth2client/
│ ├── __init__.py
│ ├── _helpers.py
│ ├── _openssl_crypt.py
│ ├── _pycrypto_crypt.py
│ ├── _script.py
│ ├── _service_account.py
│ ├── _tools.py
│ ├── client.py
│ ├── cli.py
│ ├── crypt.py
│ ├── django_orm.py
│ ├── file.py
│ ├── flask_util.py
│ ├── gcslock.py
│ ├── gce.py
│ ├── keyring_storage.py
│ ├── locked_file.py
│ ├── memorized.py
│ ├── service_account.py
│ ├── tools.py
│ ├── util.py
│ └── __version__.py
├── requirements-dev.txt
├── requirements.txt
├── setup.cfg
├── setup.py
└── tests/
├── __init__.py
├── data/
├── test__helpers.py
├── test__openssl_crypt.py
├── test__pycrypto_crypt.py
├── test__script.py
├── test__service_account.py
├── test__tools.py
├── test_client.py
├── test_cli.py
├── test_crypt.py
├── test_django_orm.py
├── test_file.py
├── test_flask_util.py
├── test_gcslock.py
├── test_gce.py
├── test_keyring_storage.py
├── test_locked_file.py
├── test_memorized.py
├── test_service_account.py
├── test_tools.py
└── test_util.py
目录结构介绍
oauth2client/
: 项目的主目录,包含了所有的源代码文件。__init__.py
: 包的初始化文件。client.py
: OAuth2 客户端的主要实现文件。crypt.py
: 加密相关的功能实现。service_account.py
: 服务账号相关的功能实现。util.py
: 工具函数和辅助函数。
tests/
: 包含所有的测试文件。test_client.py
: 针对client.py
的测试文件。test_crypt.py
: 针对crypt.py
的测试文件。test_service_account.py
: 针对service_account.py
的测试文件。test_util.py
: 针对util.py
的测试文件。
2. 项目的启动文件介绍
项目的启动文件主要是 oauth2client/client.py
,这个文件包含了 OAuth2 客户端的主要实现逻辑,包括获取授权、刷新令牌等功能。
主要功能
OAuth2Credentials
: 表示 OAuth2 凭证的类。Credentials
: 凭证的基类。AccessTokenCredentials
: 仅包含访问令牌的凭证。RefreshTokenCredentials
: 包含刷新令牌的凭证。
3. 项目的配置文件介绍
项目的配置文件主要是 setup.py
和 setup.cfg
。
setup.py
setup.py
是 Python 项目的标准安装脚本,用于定义项目的元数据和依赖关系。
from setuptools import setup, find_packages
setup(
name='oauth2client',
version='4.1.3',
packages=find_packages(),
install_requires=[
'httplib2>=0.9.1',
'six>=1.6.1',
'rsa>=3.1.4',
'pyasn1>=0.1.7',
'pyasn1-modules>=0.0.5',
'setuptools>=11.3',
'socksipy-branch==1.01',
],
author='Google Inc.',
author_email='googleapis-packages@google.com',
url='https://github.com/googleapis/oauth2client