【问题标题】:localStorage access between two google app scripts deployed as web apps部署为网络应用程序的两个谷歌应用程序脚本之间的本地存储访问
【发布时间】:2017-05-24 19:32:13
【问题描述】:

我正在尝试将字符串从 GAS_web_app_A 移交给 GAS_web_app_B。 GAS_web_app_B 从 GAS_web_app_A 的 UI 上的按钮启动。

由于 localStorage 应该可以跨同一来源访问,我从 GAS_web_app_A 存储了“东西”,并尝试从 GAS_web_app_B 中读取它 - 在同一个浏览器 - chrome 中。

但是 GAS_web_app_B 无法读取 GAS_web_app_A 存储的这些“内容”。

1) 是否所有部署为网络应用程序的谷歌应用程序脚本都被浏览器的 localStorage 解析为来自同一来源?

第 1 步:通过其 URL 启动 GAS_web_app_A - https://script.google.com/a/macros/XXXX.com/s//dev

第二步:localStorage.setItem("stuff", stuff);

第 3 步:通过其 URL 启动 GAS_web_app_B - https://script.google.com/a/macros/XXXX.com/s//dev(来自 GAS_web_app_A)

第四步:console.log('stuff is ' + localStorage.getItem("stuff"));

我在第 4 步总是得到空值。(即使在重新加载之后,我也能够从 GAS_web_app_A 检索“东西”......)

这应该有效还是我错过了一些微不足道的东西?

【问题讨论】:

    标签: javascript browser google-apps-script local-storage


    【解决方案1】:

    绝对不应该工作。这将是一个巨大的安全问题。查看将 url 参数传递给第二个脚本。

    【讨论】:

    • 谢谢,我让它通过 url 参数工作,但我正在寻找更安全但没有 oauth 的东西。出于好奇,您是否知道浏览器如何区分这两个页面,即使它们的域相同?它会散列整个 URL 吗?
    • 调试它,你会看到。它在 iframe 中。
    猜你喜欢
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-11
    • 2019-10-15
    • 2021-04-25
    相关资源
    最近更新 更多