使用 Gmail API 和服务帐户凭据读取 Gmail 收件箱
Reading Gmail inbox using Gmail API and service account credentials
我的目标是在我的服务器上安装一个脚本来检查特定 Gmail 帐户的收件箱,并在收到新电子邮件时回复它们。
有很多使用 OAuth2 的代码示例,但是,我不想使用它,因为我需要在没有 GUI 的情况下工作,而且我只需要为我拥有的一个 Gmail 帐户授权它。
这是 python 从服务帐户凭据创建凭据的代码
from google.oauth2 import service_account
SCOPES = ['https://www.googleapis.com/auth/sqlservice.admin']
SERVICE_ACCOUNT_FILE = 'credentials.json'
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
delegated_credentials = credentials.with_subject('myGmail@gmail.com')
但我有点迷失了我接下来要做的事情。如果这是一个非常愚蠢的问题,我深表歉意,但出于某种原因,我不知道下一步该怎么做,因为所有教程和示例都使用 OAuth2 授权方法。
有人可以帮我弄这个吗?
提前致谢!
服务帐户仅适用于 Gsuite gmail 帐户。您需要域管理员 enable domain wide 授权您的服务帐户,以允许它代表 gmail 帐户的所有者发送和检查电子邮件。
如果这是普通用户的gmail 帐户。那么您将无法使用服务帐户。您将需要使用 Oauth2 保存刷新令牌,然后将刷新令牌用作应用程序的一部分,以便在需要时请求新的访问令牌。
我的目标是在我的服务器上安装一个脚本来检查特定 Gmail 帐户的收件箱,并在收到新电子邮件时回复它们。
有很多使用 OAuth2 的代码示例,但是,我不想使用它,因为我需要在没有 GUI 的情况下工作,而且我只需要为我拥有的一个 Gmail 帐户授权它。
这是 python 从服务帐户凭据创建凭据的代码
from google.oauth2 import service_account
SCOPES = ['https://www.googleapis.com/auth/sqlservice.admin']
SERVICE_ACCOUNT_FILE = 'credentials.json'
credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
delegated_credentials = credentials.with_subject('myGmail@gmail.com')
但我有点迷失了我接下来要做的事情。如果这是一个非常愚蠢的问题,我深表歉意,但出于某种原因,我不知道下一步该怎么做,因为所有教程和示例都使用 OAuth2 授权方法。 有人可以帮我弄这个吗? 提前致谢!
服务帐户仅适用于 Gsuite gmail 帐户。您需要域管理员 enable domain wide 授权您的服务帐户,以允许它代表 gmail 帐户的所有者发送和检查电子邮件。
如果这是普通用户的gmail 帐户。那么您将无法使用服务帐户。您将需要使用 Oauth2 保存刷新令牌,然后将刷新令牌用作应用程序的一部分,以便在需要时请求新的访问令牌。