📜  如何为 gmail 配置烧瓶 - Python (1)

📅  最后修改于: 2023-12-03 15:37:53.608000             🧑  作者: Mango

如何为 Gmail 配置烧瓶 - Python

烧瓶(pyenv)是 Python 的版本管理工具,它可以让你在同一台计算机中管理多个 Python 版本。在本文中,我们将为 Gmail 配置烧瓶,以便在 Python 应用程序中使用 Gmail API。

在开始之前,请确保已经安装了 Python 和烧瓶。如果还没有安装,可以参考以下链接:

  • Python:https://www.python.org/downloads/
  • 烧瓶(pyenv):https://github.com/pyenv/pyenv-installer
步骤 1:安装 Gmail API

首先,我们需要安装 Gmail API。打开终端并运行以下命令:

pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib

这将安装 Gmail API 和它所依赖的库。

步骤 2:创建 Gmail API 凭据

接下来,我们需要在 Google Cloud 控制台中创建 Gmail API 凭据。请按照以下步骤操作:

  1. 访问 https://console.developers.google.com/
  2. 创建一个新的项目。
  3. 点击“启用 API 和服务”。
  4. 在“库”中搜索并选择“Gmail API”。
  5. 点击“启用”按钮。
  6. 点击“创建凭据”按钮。
  7. 选择“其他非受限制的应用程序”。
  8. 在“创建凭据”窗口中,输入任意名称,然后点击“创建”按钮。
  9. 记住生成的“客户端 ID”和“客户端密钥”,这将在下一步中使用。
步骤 3:配置烧瓶

现在我们可以配置烧瓶以使用 Gmail API。打开终端并运行以下命令:

pyenv virtualenv 3.x.x gmail-api

其中,3.x.x 是你所选择的 Python 版本号,例如 3.8.5。这将创建一个名为 gmail-api 的虚拟环境。

然后,运行以下命令以激活虚拟环境:

pyenv activate gmail-api

接下来,运行以下命令以设置环境变量:

export CLIENT_ID="your_client_id"
export CLIENT_SECRET="your_client_secret"

将“your_client_id”和“your_client_secret”替换为上一步中生成的“客户端 ID”和“客户端密钥”。

最后,运行以下命令以安装烧瓶插件和库:

pip install pyenv-version-ext pyenv-which-ext google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client
步骤 4:测试 Gmail API

最后,我们可以测试 Gmail API 是否配置正确。运行以下 Python 代码:

from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient.discovery import build

# replace with your email address
user_id = "me"

# replace with your scopes
scopes = ["https://www.googleapis.com/auth/gmail.readonly"]

# do OAuth2 flow
flow = InstalledAppFlow.from_client_secrets_file(
    # replace with your path to the client secrets file
    "/path/to/client_secrets.json",
    scopes=scopes
)
creds = flow.run_local_server(port=0)

# save credentials for future use
creds_json = creds.to_json()
with open("creds.json", "w") as f:
    f.write(creds_json)

# use the credentials to access the Gmail API
service = build("gmail", "v1", credentials=creds)

# list all messages in the inbox
messages = service.users().messages().list(userId=user_id).execute()
for message in messages["messages"]:
    print(message["id"])

将“replace with your email address”和“replace with your scopes”替换为你自己的电子邮件地址和范围。

将“replace with your path to the client secrets file”替换为你在步骤 2 中生成的客户端秘密文件的路径。

如果一切正常,应该会打印出你收件箱中的所有邮件 ID。

结论

现在,你已经成功地为 Gmail 配置了烧瓶,并可以在 Python 应用程序中使用 Gmail API。祝你好运!