在 Google Apps 脚本中管理 API 秘密的合适方法是什么?

What is the appropriate way to manage API secrets within a Google Apps script?

如果我写一个 google 应用程序脚本,并且在脚本中我需要调用第三方 API 或进行数据库调用,什么是管理秘密的适当方式 API 密钥和密码?

如果我将脚本发布为 API 但不共享对 Google 包含 Google 应用脚本

没有正确或错误的答案。有许多因素需要考虑:

  • 如果这是 for/in G-Suite,那么您的 G-Suite 管理员将拥有(或可以)访问任何内容。这可能是也可能不是问题。
  • 如果您将数据放在 sheet 中,任何对 sheet 具有读取权限的人都可以看到数据。
  • 您可以使用 PropertiesService,但随后人们可以按照文档中的说明进行访问。用户属性是一种方式,但可能不适用于所有用例——就像另一个用户正在执行代码一样。如果您的用例可行,您可以使用可安装的触发器。
  • 如果人们需要能够使用您的密钥进行 API 调用,您可以编写一个他们可以调用但看不到源代码的代理网络应用程序。

您现在可以创建一个带有隐藏函数的库(使用尾部下划线),这样另一个脚本就无法远程访问隐藏函数。只需将凭据存储在隐藏函数中,然后在库脚本中调用该函数,然后从另一个脚本引用库脚本。