Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 使用经典google站点中的参数调用应用程序脚本_Google Apps Script_Google Sites - Fatal编程技术网

Google apps script 使用经典google站点中的参数调用应用程序脚本

Google apps script 使用经典google站点中的参数调用应用程序脚本,google-apps-script,google-sites,Google Apps Script,Google Sites,这与我的一个问题有关 我有一批CSV文件,其中包含从问题跟踪工具获得的数据集。这些我已经上传到谷歌硬盘,并在谷歌网站上以图表和列表的形式呈现 这是合理的以及所有我现在要做的是更新谷歌驱动器中的文件和网站自动更新 显示的图表运行良好,但我希望将列表显示为HTML表(而不是嵌入式工作表) 应用程序脚本似乎是实现这一点的最合乎逻辑的方式。但是,为了做到这一点,我需要向应用程序脚本提供包含数据的工作表的URL。事实证明,这比我预期的要困难得多 我试图通过直接链接应用程序脚本URL(xxxxxx/exec

这与我的一个问题有关

我有一批CSV文件,其中包含从问题跟踪工具获得的数据集。这些我已经上传到谷歌硬盘,并在谷歌网站上以图表和列表的形式呈现

这是合理的以及所有我现在要做的是更新谷歌驱动器中的文件和网站自动更新

显示的图表运行良好,但我希望将列表显示为HTML表(而不是嵌入式工作表)

应用程序脚本似乎是实现这一点的最合乎逻辑的方式。但是,为了做到这一点,我需要向应用程序脚本提供包含数据的工作表的URL。事实证明,这比我预期的要困难得多

我试图通过直接链接应用程序脚本URL(xxxxxx/exec?source=yyyy)将数据源作为参数传递,但google站点中的应用程序脚本小工具不传递参数

我尝试将脚本URL(带有参数)嵌入到iframe中——正如其他地方所建议的那样,但没有任何运气


有人有什么建议吗?谢谢。

谷歌应用脚本小工具无法在小工具设置中包含参数,请将参数添加到谷歌网站页面的链接中

https://sites.google.com/sites/mysite/mypage?par1=A&par2=B
关于同一个谷歌应用程序脚本小工具的多个实例,这可能是一个问题。我认为更好的方法是复制脚本,并为每个脚本创建一组不同的参数

一步一步

  • 创建一个站点
  • 创建脚本
  • 添加gs代码

    在本例中,代码从一个文件创建一个模板,该文件有一个显示
    Hellow世界的printlet
    如果URL参数
    消息
    等于
    ,否则显示
    未定义

    function doGet(e) {
      var template = HtmlService.createTemplateFromFile('Index');
      if(e.parameter.message === 'true') template.message = 'Hello World!';
      var output = template.evaluate();
      return output;
    }
    
  • 创建一个HTML文件并添加HTML代码

    <!DOCTYPE html>
    <html>
      <head>
        <base target="_top">
      </head>
      <body>
        <p><strong>Message:</strong>&nbsp;<?!=message?></p>
      </body>
    </html>
    
    
    消息:

  • 发布您的web应用程序

  • 创建页面
  • 插入谷歌应用程序脚本小工具
  • 保存页面
  • 在浏览器地址框或链接中写入页面URL和所需参数


  • 谷歌应用脚本小工具不能在小工具设置中包含参数,而是将参数添加到谷歌网站页面的链接中

    https://sites.google.com/sites/mysite/mypage?par1=A&par2=B
    
    关于同一个谷歌应用程序脚本小工具的多个实例,这可能是一个问题。我认为更好的方法是复制脚本,并为每个脚本创建一组不同的参数

    一步一步

  • 创建一个站点
  • 创建脚本
  • 添加gs代码

    在本例中,代码从一个文件创建一个模板,该文件有一个显示
    Hellow世界的printlet
    如果URL参数
    消息
    等于
    ,否则显示
    未定义

    function doGet(e) {
      var template = HtmlService.createTemplateFromFile('Index');
      if(e.parameter.message === 'true') template.message = 'Hello World!';
      var output = template.evaluate();
      return output;
    }
    
  • 创建一个HTML文件并添加HTML代码

    <!DOCTYPE html>
    <html>
      <head>
        <base target="_top">
      </head>
      <body>
        <p><strong>Message:</strong>&nbsp;<?!=message?></p>
      </body>
    </html>
    
    
    消息:

  • 发布您的web应用程序

  • 创建页面
  • 插入谷歌应用程序脚本小工具
  • 保存页面
  • 在浏览器地址框或链接中写入页面URL和所需参数



  • 对于嵌入经典google站点的应用脚本web应用,querystring参数工作良好。相反,如果嵌入到新的google站点中,则不起作用,这是一个大问题,这意味着使用querystring的经典网站无法迁移,很快经典google站点将停止工作。

    对于嵌入到经典google站点中的应用脚本web应用,querystring参数工作良好。相反,如果嵌入到新的google站点中,则不工作,这是一个大问题,这意味着使用querystring的经典网站无法迁移,很快经典的google站点将停止工作。

    您的脚本在哪里?它不在现场内吗?是的,它在现场内。我想将脚本嵌入到几个页面中,每个页面指向driveworkarround中的不同工作表:从应用程序脚本前端,您应该能够获取父级的url。根据它,你可以知道你在网站上的位置。看看window.referer或其中一个those@zig好主意。唯一的问题是,一个页面中可能有多个gadget实例,并且要弄清楚哪个实例调用了脚本,这很容易出错:-(你在哪里有脚本?它不在网站内吗?是的,它在网站内。我想将脚本嵌入到几个页面中,每个页面指向驱动器中的不同工作表Arround:从应用程序脚本前端,你应该能够获得父级的url。根据它,你可以知道你在网站上的位置。查看window.referer或一个属于those@zig有趣的想法。唯一的问题是,在一个页面中可以有多个小工具实例,并确定哪一个调用了脚本将很容易出错:-(我尝试了您建议的:设置->页面设置->页面URL。但是,URL只能包含-,A-Z,A-Z,0-9,因此我无法设置页面的参数(除非我必须执行其他操作?)@Dushara:很抱歉造成混淆。参数不能这样添加,它们可以添加到链接或其他地方,如UrlFecthApp(url)所以听起来好像没有办法实现我想要的。可以将参数传递给作为小工具嵌入到google站点页面的google apps脚本web app。我尝试了您建议的:设置->页面设置->页面URL。但是,URL只能包含-,a-Z,a-Z,0-9,因此我无法设置页面的参数(除非我必须做些不同的事情?@Dushara:我很抱歉造成混乱。这些参数不能这样添加,它们可以添加到链接或其他地方,比如UrlFecthApp(url),所以听起来好像没有办法实现我想要的?可以将参数传递到嵌入的google apps脚本web app