【问题标题】:Server-to-server auth for google sheets API谷歌表格 API 的服务器到服务器身份验证
【发布时间】:2020-12-16 02:50:55
【问题描述】:

我有一个小程序在一堆树莓派上运行,我想将值上传到谷歌表。这些东西将在没有 UI 的情况下运行。数据不敏感。我选择了谷歌表格,因为我应该很容易使用数据并节省时间。但是,我遇到了身份验证问题。

如果您遵循此快速入门,它会包含身份验证示例:https://developers.google.com/sheets/api/quickstart/python 它会将您带到身份验证对话框。

但是,所有选项似乎都需要“头部”或 UI 交互。甚至 Web 服务器都假设您可以在浏览器中向用户显示 oauth 流。我不能这样做,它是在没有监视器的 pi 上运行的脚本。

有没有办法为无头服务器设置一个真正的长期 oauth 流来验证并写入我的一张工作表?

【问题讨论】:

  • 在您的情况下,使用服务帐户怎么样?使用服务帐号时,无需授权使用浏览器。所以我认为这可能是合适的。 Ref 例如,使用服务帐户的python 示例脚本可以在this thread 看到。如果这不是您期望的方向,我很抱歉。
  • 这听起来像是正确的方向......知道我应该为服务帐户选择什么“角色”吗? ¯_(ツ)_/¯
  • 在没有角色的情况下尝试了此设置,但得到“403 调用者没有权限” - 看不到任何似乎映射到 gsheets 的角色?
  • 感谢您的回复。我为我糟糕的英语水平道歉。不幸的是,我无法从我们的回复中复制您的情况。例如,作为测试,当“服务帐户详细信息”中仅设置服务帐户名称并按下“完成”按钮并创建新密钥为 JSON 时,示例脚本有效。我为此道歉。但我愿意支持你。那么您能否提供复制问题和当前脚本的详细流程?借此,我想尝试复制您的问题。

标签: authentication google-sheets oauth google-api google-oauth


【解决方案1】:

这篇文章成功引导我完成了关键步骤:https://denisluiz.medium.com/python-with-google-sheets-service-account-step-by-step-8f74c26ed28e

1/ 创建服务帐号 2/ 与服务帐户电子邮件共享电子表格(生成的长电子邮件地址,您可以在 credentials.json 文件中访问)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-23
    • 1970-01-01
    • 2016-05-16
    • 2017-08-15
    • 2022-11-30
    • 2020-08-23
    • 1970-01-01
    • 2022-09-27
    相关资源
    最近更新 更多