Gmail API 包装器 - Python 客户端
项目描述
用于 Python 的 Gmail API 包装器
=============================
这是 google-api-python-client 库的包装器谷歌。
幕后
----------------
* *语言*:Python_
* *测试*:Tox_、Pytest_、Coverage_、Flake8_
* *部署*:Ansible_
* *CI*:CircleCI_
* *Code*: Github_
Installation
------------
.. code:: bash
pip install --upgrade gmail-api-wrapper
Setup
-----
`gmail-api-wrapper` 使用 OAuth 认证在**第 1 步:打开 Gmail API**
部分下生成客户端 ID 和客户端密码 Here_ 。
按照步骤 **a** 到 **h**。
下载 `client_secret.json` 文件后,
将其移动到主目录中的 `~/.credentials/` 目录。
环境变量
----------------------------------
设置跟随`env`变量。
- 从 GMAIL_SCOPES_
.. 获取范围代码:: bash
# 空格分隔字符串
export GAW_SCOPES="'gmail-scopes-1 'gmail-scope-2'"
# client_secret json 文件路径
# 如果您使用自定义 SSL 证书,请设置 GAW_CA_CERTS_PEM_FILE env variable
export GAW_CA_CERTS_PEM_FILE=<path-to-custom-pem-ssl-cert>
# 要使用的用户 ID。默认为“我”。gmail
# 的特殊标识符,指用于进行 OAuth2 握手的电子邮件地址
export GAW_USER_ID=<your@gmail.address>
# 您的首选应用程序名称。默认为 'Gmail API Wrapper'
export GAW_APPLICATION_NAME=<your-preferred-application-name>
# 禁用 ssl 证书验证。默认为 False
export GAW_DISABLE_SSL_CERTS=True
- 查看应用程序的 permissions_granted_
用法 - READ
------------
.. code:: python
from gmail_api_wrapper.crud.read import GmailAPIReadWrapper
gmail_api = GmailAPIReadWrapper()
# 检查未读消息。返回以下格式的字典列表
gmail_api.check_new_mail()
>>> [
{
'subject': 'Sample Subject',
'base64_msg_body': 'base64string',
'from:' 'exapmle@mail_server.com'
'date': '2017-09-16T10:57:12.4323'
},
]
# 检查来自特定发件人的新邮件。返回上面的字典列表
gmail_api.check_new_mail(sender='example@mail_server.com')
# 或者,您可以从特定发件人那里获取所有未读邮件
gmail_api.get_unread_messages(sender='example@mail_server.com')
>>> [
{
'主题':'示例主题',
'base64_msg_body':'base64string',
'来自:''
},
]
# 获取所有存在的标签。返回字符串列表
gmail_api.get_labels()
>>> ['INBOX', 'UNREAD', 'SPAM', 'DRAFTS']
# 获取邮件总数。返回一个格式化的 json 对象
gmail_api.get_total_messages()
>>> {
'Total Messages': 2017,
'Total Threads': 123,
'Email Address': 'example@mail_server.com'
}
# 获取消息列表。如果未指定标签,则默认为收件箱
gmail_api.list_messages()
>>> [
{
'subject': 'Sample Subject',
'from:' 'exapmle@mail_server.com'
'date': '2017-09-16T10:57:12.4323'
},
]
# 获取草稿和垃圾邮件中的邮件列表
gmail_api.list_messages(labels=['DRAFTS', 'SPAM'])
>>> [
{
'subject': 'Sample Subject',
'base64_msg_body': 'base64string',
'from:' 'exapmle@mail_server.com'
'date': '2017-09-16T10:57 :12.4323'
},
]
# 获取特定消息。传递的 `message_id` 必须是 google 消息 id 对象
gmail_api。
.. code:: python
from gmail_api_wrapper.crud.write import GmailAPIWriteWrapper
api = GmailAPIWriteWrapper()
# 撰写新邮件
api.compose_mail(subject='API Wrapper', body='Py client', to='email1,email2')
> >> {
'id': 'blah-blah',
'labelsIds': ['INBOX', 'SENT', 'UNREAD'],
'threadId': 'blah-blah'
}
# 使用 cc 和 bcc
api撰写新邮件.compose_mail(subject='API Wrapper', body='Py client', to='email1,email2', cc='email1,email2', bcc='email1,email2')
>>> {
'id':'blah-blah',
'labelsIds':['INBOX','SENT','UNREAD'],
'threadId':'blah-blah'
}
# 创建新标签
api.create_label(name='Integrations')
>>> {
'id': 'blah-blah',
'labelListVisibility': 'labelShow',
'messageListVisibility': 'show',
'name': '集成'
}
作者
-------
* yoda <dee.caranja@gmail.com>
.. _Python: https://www.python.org/
.. _Tox: https://tox.readthedocs.io/ en/latest/
.. _Pytest: http://doc.pytest.org/en/latest/
.. _Coverage: https://coverage.readthedocs.io/en/coverage-4.2/
.. _Flake8: http:// flake8.pycqa.org/en/latest/
.. _Ansible:http://docs.ansible。com/ansible/index.html
.. _CircleCI: https://circleci.com/gh/yoda-yoda/gmail-api-wrapper
.. _Github: https://github.com/yoda-yoda/gmail-api-wrapper
.. _Here: https: //developers.google.com/gmail/api/quickstart/python
.. _GMAIL_SCOPES: https://developers.google.com/gmail/api/auth/scopes/
.. _permissions_granted: https://accounts.google.com /b/0/IssuedAuthSubTokens
=============================
这是 google-api-python-client 库的包装器谷歌。
幕后
----------------
* *语言*:Python_
* *测试*:Tox_、Pytest_、Coverage_、Flake8_
* *部署*:Ansible_
* *CI*:CircleCI_
* *Code*: Github_
Installation
------------
.. code:: bash
pip install --upgrade gmail-api-wrapper
Setup
-----
`gmail-api-wrapper` 使用 OAuth 认证在**第 1 步:打开 Gmail API**
部分下生成客户端 ID 和客户端密码 Here_ 。
按照步骤 **a** 到 **h**。
下载 `client_secret.json` 文件后,
将其移动到主目录中的 `~/.credentials/` 目录。
环境变量
----------------------------------
设置跟随`env`变量。
- 从 GMAIL_SCOPES_
.. 获取范围代码:: bash
# 空格分隔字符串
export GAW_SCOPES="'gmail-scopes-1 'gmail-scope-2'"
# client_secret json 文件路径
# 如果您使用自定义 SSL 证书,请设置 GAW_CA_CERTS_PEM_FILE env variable
export GAW_CA_CERTS_PEM_FILE=<path-to-custom-pem-ssl-cert>
# 要使用的用户 ID。默认为“我”。gmail
# 的特殊标识符,指用于进行 OAuth2 握手的电子邮件地址
export GAW_USER_ID=<your@gmail.address>
# 您的首选应用程序名称。默认为 'Gmail API Wrapper'
export GAW_APPLICATION_NAME=<your-preferred-application-name>
# 禁用 ssl 证书验证。默认为 False
export GAW_DISABLE_SSL_CERTS=True
- 查看应用程序的 permissions_granted_
用法 - READ
------------
.. code:: python
from gmail_api_wrapper.crud.read import GmailAPIReadWrapper
gmail_api = GmailAPIReadWrapper()
# 检查未读消息。返回以下格式的字典列表
gmail_api.check_new_mail()
>>> [
{
'subject': 'Sample Subject',
'base64_msg_body': 'base64string',
'from:' 'exapmle@mail_server.com'
'date': '2017-09-16T10:57:12.4323'
},
]
# 检查来自特定发件人的新邮件。返回上面的字典列表
gmail_api.check_new_mail(sender='example@mail_server.com')
# 或者,您可以从特定发件人那里获取所有未读邮件
gmail_api.get_unread_messages(sender='example@mail_server.com')
>>> [
{
'主题':'示例主题',
'base64_msg_body':'base64string',
'来自:''
},
]
# 获取所有存在的标签。返回字符串列表
gmail_api.get_labels()
>>> ['INBOX', 'UNREAD', 'SPAM', 'DRAFTS']
# 获取邮件总数。返回一个格式化的 json 对象
gmail_api.get_total_messages()
>>> {
'Total Messages': 2017,
'Total Threads': 123,
'Email Address': 'example@mail_server.com'
}
# 获取消息列表。如果未指定标签,则默认为收件箱
gmail_api.list_messages()
>>> [
{
'subject': 'Sample Subject',
'from:' 'exapmle@mail_server.com'
'date': '2017-09-16T10:57:12.4323'
},
]
# 获取草稿和垃圾邮件中的邮件列表
gmail_api.list_messages(labels=['DRAFTS', 'SPAM'])
>>> [
{
'subject': 'Sample Subject',
'base64_msg_body': 'base64string',
'from:' 'exapmle@mail_server.com'
'date': '2017-09-16T10:57 :12.4323'
},
]
# 获取特定消息。传递的 `message_id` 必须是 google 消息 id 对象
gmail_api。
.. code:: python
from gmail_api_wrapper.crud.write import GmailAPIWriteWrapper
api = GmailAPIWriteWrapper()
# 撰写新邮件
api.compose_mail(subject='API Wrapper', body='Py client', to='email1,email2')
> >> {
'id': 'blah-blah',
'labelsIds': ['INBOX', 'SENT', 'UNREAD'],
'threadId': 'blah-blah'
}
# 使用 cc 和 bcc
api撰写新邮件.compose_mail(subject='API Wrapper', body='Py client', to='email1,email2', cc='email1,email2', bcc='email1,email2')
>>> {
'id':'blah-blah',
'labelsIds':['INBOX','SENT','UNREAD'],
'threadId':'blah-blah'
}
# 创建新标签
api.create_label(name='Integrations')
>>> {
'id': 'blah-blah',
'labelListVisibility': 'labelShow',
'messageListVisibility': 'show',
'name': '集成'
}
作者
-------
* yoda <dee.caranja@gmail.com>
.. _Python: https://www.python.org/
.. _Tox: https://tox.readthedocs.io/ en/latest/
.. _Pytest: http://doc.pytest.org/en/latest/
.. _Coverage: https://coverage.readthedocs.io/en/coverage-4.2/
.. _Flake8: http:// flake8.pycqa.org/en/latest/
.. _Ansible:http://docs.ansible。com/ansible/index.html
.. _CircleCI: https://circleci.com/gh/yoda-yoda/gmail-api-wrapper
.. _Github: https://github.com/yoda-yoda/gmail-api-wrapper
.. _Here: https: //developers.google.com/gmail/api/quickstart/python
.. _GMAIL_SCOPES: https://developers.google.com/gmail/api/auth/scopes/
.. _permissions_granted: https://accounts.google.com /b/0/IssuedAuthSubTokens
项目详情
关
gmail_api_wrapper -0.1.1a3-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | a40379783cc771e72faceff0fb95394a96e6f304f03604689dd7de9fcf74c2a8 |
|
| MD5 | 832d53a7c5986be572635ac48d7d19c8 |
|
| 布莱克2-256 | 6529eb200eeed6403d96dd86f037021e77ccb282da565b906784dd4d787091b5 |