如何让我的本地主机应用程序在 Google Apps 脚本中使用 UrlFetchApp.fetch 运行

问题描述 投票:0回答:1

我正在尝试为 Google Sheet 上的应用程序创建一个附加组件。我的应用程序仍在本地主机上开发。我使用 ngrok 转发 url localhost:3001 并让应用程序在 Apps 脚本中运行,但 index.html 未路由到资产。 任何帮助将不胜感激。

这是代码

function getData() {
  const url = "••••••"; 
  const options = {
    method: "get",
    headers: {
      "Content-Type": "application/json",
      "ngrok-skip-browser-warning": "true",

    },

  };

  const response = UrlFetchApp.fetch(url, options);   
  return response.getContentText();
}

function doGet(){
  const html = getData();
  Logger.log(html);
  return HtmlService.createHtmlOutput(html);

}

index.html

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="theme-color" content="#000000" />
    <meta name="description" content="basic gpx/tcx data analysis app" />
    <title>mycorr</title>
    <script type="module" crossorigin src="/assets/index-CYckigfU.js"></script>
    <link rel="modulepreload" crossorigin href="/assets/react-DNzqxdh-.js">
    <link rel="modulepreload" crossorigin href="/assets/mui-CYjvO3ta.js">
    <link rel="stylesheet" crossorigin href="/assets/react-CM9Skd9z.css">
    <link rel="stylesheet" crossorigin href="/assets/index-CP7RGrzZ.css">
  </head>

  <body>
    <noscript>You need to enable JavaScript to run this app.</noscript>
    <div id="root"></div>
  </body>
</html>
google-sheets google-apps-script ngrok
1个回答
0
投票

这是因为该网址托管在 Google 的服务器上,并且具有唯一的网址。

href="/assets/react-CM9Skd9z.css"

被解释为

href="https://[id]-script.googleusercontent.com/assets/react-CM9Skd9z.css"

服务器上没有此类文件。考虑使用像 es-build 这样的捆绑器将其全部捆绑到一个文件中,并通过 ngrok 通过

UrlFetchApp
提供服务。

© www.soinside.com 2019 - 2024. All rights reserved.