【发布时间】: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