【发布时间】:2022-12-13 08:46:36
【问题描述】:
我有一个脚本可以检索 webhook(这意味着它必须部署为可公开访问的应用程序),然后使用 API 发送消息。
API 需要使用密钥和机密,我显然不希望公众访问这些内容。
Q1:有没有办法在另一个脚本中隐藏 API 密钥/秘密并以某种方式访问它?
(或任何其他类似的解决方案 - 不必花哨,只需功能/安全)。
备选问题:
Q2:在我公开的 Apps 脚本项目中,陌生人实际上能看到什么?完整代码?如果我在带有下划线的函数中隐藏键 IE。函数名_(){},他们能读懂吗?
重要信息:我没有与任何人“共享”项目或电子表格,它们仍然是私有的。但是我已经使用“任何人”的权限“部署”了 Web 应用程序。我假设这意味着任何人都可以访问?
【问题讨论】:
-
我必须为我糟糕的英语水平道歉。不幸的是,我无法从
I have a script that retrieves a webhook (meaning it has to be deployed as a publicly accessible App), and then uses an API to send a message.了解您的情况。可以问一下详细情况吗? -
不用担心:我的 Apps 脚本项目收到了一个 webhook 消息(“BUY”或“SELL”)并在金融交易 API 上使用它。 API 需要密钥和秘密 ('key="abcd"')。但是任何人都可以访问该项目以接收 webhook。我不想让他们看到我的密钥,所以我需要将它放在 Apps 脚本项目之外的某个地方,但仍然让项目能够读取它。我正在调查“PropertiesService”,但无法确定它的安全性。
-
谢谢你的回复。关于
My Apps Script project recieves a webhook message ("BUY" or "SELL") and uses that on an finance exchange API.,在您的情况下,您的 Google Apps 脚本使用带有 API 密钥和密码的 UrlFetchApp 从 API 检索数据。我的理解正确吗? -
而且,我无法理解
But the project can be accessed by anyone to be able to recieve the webhook.的情况。如果您只想检索数据并且想让用户只显示数据,那么共享仅包含数据的电子表格怎么样?但是,我担心我可能无法正确理解您的情况。我为此道歉。 -
为了更简单地解释它——让我们忘掉 webhook 和 API。假设我有一个应用程序脚本项目,它被部署为一个公共应用程序。我希望项目中的一个变量是我的姓氏(假设它是:var lastName = "SMITH"),但我不希望任何可以查看脚本(因为它是公开部署的)的人能够看到我的姓是“史密斯”。该信息需要在项目之外的某个地方保密,但仍可在脚本中使用。我想知道这是否可能。
标签: security google-apps-script google-sheets web-applications api-key