【问题标题】:How to GET data from outside an IFRAME GAS when a file is uploaded to Google Drive?将文件上传到 Google Drive 时如何从 IFRAME GAS 外部获取数据?
【发布时间】:2021-01-06 02:21:17
【问题描述】:

我最近看到了这个使用 Google Apps 脚本将文件上传到 Google Drive 的 Github 示例:DRIVE EXAMPLE Google Apps 脚本项目运行良好,但我需要知道是否有一种方法可以在我将 IFRAME 与网页上的 GAS Web App 并且任何用户上传文件,网页都可以知道文件已正确上传,从 GAS 接收任何类型的数据以将其用于其他用途?

【问题讨论】:

标签: javascript google-apps-script


【解决方案1】:

关于Apps Script WebApps

  • 这是一个服务器端 code.gs 文件和一个客户端 html 文件的组合
  • 部件之间的通信可以使用scriptletsgoogle.script.run
  • WebApp 可以单独用作网页,也可以嵌入到 iframe 中。
  • 为了更方便客户端和服务器端之间的通信,我建议您在 WebApp 的 html 文件中集成文件上传功能和关于成功上传文件的反馈。
  • 例如,实现一个SuccessHandler,在成功上传时附加文本
  • 基于文档中的示例:
<html>
  <head>
    <base target="_top">
    <script>
      function onSuccess() {
        var div = document.getElementById('output');
        div.innerHTML = 'The file upload was successful';
      }

      google.script.run.withSuccessHandler(onSuccess)
          .uploadToDrive(data);
    </script>
  </head>
  <body>
    <div id="output"></div>
  </body>
</html>

【讨论】:

  • 感谢@ziganotschka 的回答。我已经知道有关 Google Apps 脚本的所有这些信息,并且您的回答证实了我想要实现的东西是不可能的。再次感谢您
  • 我不确定我是否正确理解了您的整个设置,但您可以实现一个额外的 WebApp,它与 iframe 和容器通信以传递数据。可以使用 Javascript 端提取/XML 请求以及将 URL 参数发送到 WebApp。
  • 我会像你说的那样尝试两个 WebApp,但仅仅为了向网页发送响应就没有必要复杂了。更清楚一点,此 WebApp 将在电子商务上运行,当文件上传时,产品会自动添加到购物车中。出于这个原因,我希望从这个 WebApp 获得反馈,然后在页面上对其余部分进行编码。非常感谢您抽出宝贵时间@ziganotschka
  • 不用担心。显然,WebApp 并不是万能的解决方案——如果在你的情况下它是一种矫枉过正,当然还有其他选择。
  • 没问题!仍然感谢您的回答!
猜你喜欢
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多