Skip to main content

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


项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

内置分布

gmail_api_wrapper-0.1.1a3-py3-none-any.whl (15.0 kB 查看哈希

已上传 py3