首页 > 解决方案 > 谷歌 OAuth2 令牌重置(用于 yagmail)

问题描述

我想做测试撤销 python 脚本的 gmail oath2 令牌,但现在我无法将它恢复到工作状态。

该脚本能够发送电子邮件。然后我在 Google API 控制台中删除了 OAuth 2.0 客户端 ID,因此它不能再这样做了。

现在我想让它使用新生成的 ID。因此,我用新的 JSON 文件替换了本地 JSON 文件,但仍然没有发送电子邮件。我猜它仍在尝试使用旧令牌。如何让系统忘记旧令牌或让它像第一次一样要求 google_client_id、google_client_secret 和 google_refresh_token?

我正在使用 yagmail 发送带有此代码段的电子邮件:

   yag_connection = yagmail.SMTP(user=email_dict["user"],
                       oauth2_file="~/" + "client_secret_.json"
   yag_connection.send(to=email_adress, subject=email_title, contents=email_contents,
             attachments=attachments_list)

标签: pythonoauth-2.0gmailyagmail

解决方案


当将 oauth2 文件位置更改为:

    yag_connection = yagmail.SMTP(user=email_login_dict[username_key],
                       oauth2_file=os.getcwd()+"\\"+"client_secret")

推荐阅读