【发布时间】:2019-02-24 11:00:11
【问题描述】:
我有一个小型机器人程序,除其他外,它以某种格式将电子表格发布到 Google 表格,并尝试根据命令将其取回。但是,出于安全原因,我需要确保是机器人本身创建了所述电子表格,然后再尝试对其进行解析。
我找到了非常迂回的方法 - 例如运行 Google Apps 脚本以尝试将所有人添加和删除到受保护范围的编辑器列表中,根据 this question -但这似乎相当困难且不直观。是否有任何合理的方式来检索创建者的凭据 - 例如服务 Gmail 地址?
更新:四处询问让我想到了一个假设,即由电子表格管理员创建的受保护范围将只有该用户作为所有者,而由其他人创建的受保护范围将包括编辑者和所有者(无论是在真实电子表格中的伪造尝试,还是在其他人创建的电子表格中 - 角色交换取决于任一场景)。可以用来验证;幸运的是,该机器人已经在其工作表中包含了一个受保护的范围。不过,我还没有测试过这个假设,并且很高兴看到一个更明确/优雅的解决方案。
【问题讨论】:
-
你试过用Spreadsheet.getOwner()方法吗?所有者对象有
getEmail()方法。 -
事实上,我还没有,也只是现在才注意到该方法存在(在实际返回这个问题之前的几秒钟)。显然,阅读不是我的强项。谢谢!如果可以的话,我会支持评论。
标签: google-sheets google-sheets-api