【问题标题】:Google app scripts and websocket?谷歌应用脚​​本和 websocket?
【发布时间】:2016-12-28 23:08:58
【问题描述】:

可以在 Google 应用脚本中建立 websocket 连接吗?我无法在 Google 的文档中找到任何关于这些的信息,所以我不确定。

【问题讨论】:

  • Google Spreadsheet with data from WebSocket 的重复,答案是否定的。
  • 你想完成什么?您是否尝试将非 Google 网站连接到 Apps 脚本并从服务器获得返回?您是否打算使用 Apps Script Web App,并连接到与 Google 不同的服务器?我已经看到有关使用库创建自己的 websocket 服务器的信息,但我不知道在 Apps 脚本项目中如何或是否可能。 Apps Script 脚本可以使用doGet()doPost() 函数检测和响应HTTPS GET 或POST 请求,但我不知道在第一次请求后保持打开的连接。
  • 您可能会尝试在调用 App Scripts API 的代码中实现 WebSocket 通信。例如,在附加组件中,您可以在侧边栏的一些 javascript 代码中进行 WebSocket 通信,然后将数据作为参数传递给您的 App Script 函数。

标签: google-apps-script


【解决方案1】:

答案是(很遗憾)仍然是

但是,您可以在此处为应用脚本的问题跟踪器添加此功能 - https://issuetracker.google.com/issues/117437427

但是,您可以使用 google.script.run 使用客户端异步 JavaScript API 轮询服务器端函数。更多信息可以在这里找到 - https://developers.google.com/apps-script/guides/html/reference/run

【讨论】:

  • 您能否详细说明这将有何帮助?
【解决方案2】:

只是添加到 Sourabh 的答案中,虽然您不能通过 Google Scripts 直接使用 websocket,但您可以将它与 Javascript 一起使用。

https://developer.mozilla.org/en-US/docs/Web/API/WebSocket

为了使用它,您需要创建一个 html,您可以在其中创建您的 websocket。

https://developers.google.com/apps-script/guides/html/

例如:

<!DOCTYPE html>
<html>

<head>
    <title>WebSocket demo</title>
</head>

<body>
    <script>
        let ws = new WebSocket("ws:port");
        ws.onopen = () => ws.send("some message to send); // Sending a message
        ws.onmessage = (event) => google.script.run.some_function(event.data); // Receiving a message
    </script>
</body>

</html>

所以你可以使用 google 制作一个 web 应用程序,或者只是一个带有 google 脚本的 html 窗口并将 websocket 嵌入其中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多