【问题标题】:How to access a gmail account I own using Gmail API?如何使用 Gmail API 访问我拥有的 gmail 帐户?
【发布时间】:2016-09-28 19:23:23
【问题描述】:

我想将节点脚本作为 cronjob 运行,它使用 Gmail 的 API 来轮询我拥有的 gmail 帐户。

我关注these quickstart instructions

我被困在第一步。在为 cron 脚本请求凭据时,它告诉我“无法从没有 UI 的平台访问用户数据,因为它需要用户交互才能登录”:

这些文档总体上令人困惑,并提到了“服务帐户”、“OAuth”和其他内容——我不知道哪些适用于我的用例,哪些不适用。我使用了许多 SaaS API,典型的工作流程是登录您的帐户,获取 API 密钥和密码,然后在您的脚本中使用它们来访问 API。似乎这不是 Gmail API 使用的范例,所以我会很感激任何指导或链接到更清晰的说明。

【问题讨论】:

    标签: gmail gmail-api


    【解决方案1】:

    要全面了解 Gmail API 的使用,通过Gmail API Overview 确实会有所作为。

    您还可以使用这些文档开始构建 Gmail 应用程序:

    我希望这些帮助。

    【讨论】:

    • 所以,是的,我已经阅读了所有这些内容,但它们完全令人困惑。我的“项目”和“应用程序”有什么区别?还是有一个?要使用 API 访问我自己的 gmail 帐户,看来我必须创建“应用程序”,然后使用基于 Web 的 OAuth 页面授予该应用程序访问我的 gmail 帐户的权限,然后我的应用程序使用 OAuth 令牌进行API 请求?那是对的吗?这似乎令人难以置信的复杂,因为我要做的就是访问我自己的帐户....
    【解决方案2】:

    我还发现文档有时会令人困惑,但是一旦你得到它,你想要的实际上是非常简单的:

    1. Register your App at Google,并说明您希望您的应用程序可以访问哪些 API(在这种情况下仅是 Gmail API)。这将为您提供两个字符串,一个client_id 和一个client_secret(这是上面client_secrets.json 文件的内容)。
    2. 由于您只是为自己的帐户编写脚本,因此不需要 http-server。 Oauth Playground 就足够了。按右上角的设置齿轮并使用您自己的 OAuth 凭据。
    3. 在 API 列表中选择 Gmail API,然后按照概述的步骤操作。

    现在您有一个 access_token 和一个 refresh_token 可以用来让您的脚本无限期地运行!

    【讨论】:

    • 谢谢!因此,我使用您的方法获得了我的 access_token,并且之后能够使用命令行 curl 与 API 进行交互。我的问题是:令牌过期后,如何使用 refresh_token 获得一个新的?同样,请记住,我将通过脚本执行此操作,而不是手动...
    • @Jonah 没问题!您可以查看Using a refresh token 的文档,了解如何格式化请求。
    • 最后一个问题。在this section of the docs 中,它提到了一个名为key 的参数,您可以使用它来代替access_token,并且只说“从Google Developers Console 获取您的项目的API 密钥”。但是我在那里找不到任何名为key 的东西......
    • @Jonah 我不知道,恐怕。我从未在我的应用程序中使用过密钥。或许this answer可以提供一些线索。
    • 谢谢!我以为我正在失去理智,我无法弄清楚如何通过休息界面访问我自己帐户的数据。这完全救了我
    猜你喜欢
    • 2016-01-08
    • 2022-01-15
    • 2019-01-10
    • 1970-01-01
    • 2014-09-06
    • 2020-11-01
    • 2018-09-30
    • 2011-04-09
    • 1970-01-01
    相关资源
    最近更新 更多