当前位置: 首页 > 知识库问答 >
问题:

在Google站点中使用Google Visualization API

充普松
2023-03-14

我是JS和GAS的新手,到目前为止管理得相当好。然而,当我在JS中使用HTML时,我迷失了方向。我想使用谷歌的可视化API的时间线功能,并使用来自网站或工作表的数据,我想填充图表。

如何将HTML服务与JS结合起来,在google站点上显示时间线图?

共有1个答案

宿建本
2023-03-14

就在几天前,2014年12月11日,UI服务被否决

Google文档-UI服务

下面是您需要做什么的一步一步的解释:

    null
function doGet() {
  return HtmlService.createHtmlOutputFromFile('index')
      .setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
    null
<html>
  <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["timeline"]});
      google.setOnLoadCallback(drawChart);

      function drawChart() {
        var container = document.getElementById('timeline');
        var chart = new google.visualization.Timeline(container);
        var dataTable = new google.visualization.DataTable();

        dataTable.addColumn({ type: 'string', id: 'President' });
        dataTable.addColumn({ type: 'date', id: 'Start' });
        dataTable.addColumn({ type: 'date', id: 'End' });
        dataTable.addRows([
          [ 'Washington', new Date(1789, 3, 29), new Date(1797, 2, 3) ],
          [ 'Adams',      new Date(1797, 2, 3),  new Date(1801, 2, 3) ],
          [ 'Jefferson',  new Date(1801, 2, 3),  new Date(1809, 2, 3) ]]);

        chart.draw(dataTable);
      }
    </script>
  </head>
  <body>
    <div id="timeline" style="width: 900px; height: 180px;"></div>
  </body>
</html>
    null
  • 单击发布
  • 单击部署为Web应用程序
  • 如果没有版本,则保存新版本
  • 单击底部的更新
  • 返回网站页面。
  • 用铅笔图标单击编辑页面按钮
  • 单击插入菜单
  • 选择应用程序脚本
  • 选择脚本
  • 单击选择按钮

保存所有更改。

<script>
  function onSuccess(importedData) {
    dataTable.addRows([importedData]);
    chart.draw(dataTable);
    alert('Your data has been loaded');
  }

  google.script.run.withSuccessHandler(onSuccess)
      .retrieveChartData();
</script>

硬编码的数据将被代码替换。这是必须删除并更改为其他内容的硬编码数据:

    dataTable.addRows([
      [ 'Washington', new Date(1789, 3, 29), new Date(1797, 2, 3) ],
      [ 'Adams',      new Date(1797, 2, 3),  new Date(1801, 2, 3) ],
      [ 'Jefferson',  new Date(1801, 2, 3),  new Date(1809, 2, 3) ]]);

您需要向.gs脚本文件添加另一个函数。类似于这样:

function retrieveChartData() {
  Logger.log('I was called!');
  //Get the data from your data source
  Code here
  var tableData = code here;
  //return the data
  return tableData;
}
 类似资料:
  • Chrome67在Windows、Mac、Linux和ChromeOS上启用了Site Isolation,这将内存使用率提高了10-13%,并为Web开发人员带来了一些问题: 全页多帧布局不再同步,因为页面的帧可能跨多个进程分布, 事件处理程序在跨站点子帧中不起作用,event处理程序可能与 、 存在问题 DevTools的“网络”面板不显示跨站点子资源请求的cookie和其他请求头 比起额外的

  • 我在AWS/S3上与其他域名注册商建立了许多静态站点;但是,google域给我带来了一些问题。 我采取的步骤: -在S3/AWS上: > 已创建桶domainname.org 通过添加index.html启用静态网站托管 已将index.html和相关文档上载到存储桶 创建桶www.domainname.org以重定向到桶domainname.org 为domainname.org创建了桶策略,如

  • 我有一个wordpress多站点在Centos 6.5在 /var/www/html/site1访问在site1.com和一切都很好。 我想安装一个单一的网站称为site2在 /var/www/html/site2但可在site1.com/site2 这个site1的conf具有如下服务器块: 当我使用try files try_files/index时。html/索引。php$uri$uri/;

  • 在 Internet 或 Intranet 上发布消息的一个优点是您可以建立一个用户可以从不同国家(地区)访问的国际化 Web 站点。用户可以申请已被本地化为当地语言的网页,使用浏览器的本地化版本阅读。在建立一个包含有多种语言网页的 Web 站点时,需要转换在浏览器与 Web 服务器间或 ASP 脚本与 ActiveX 组件间传递的字符串。例如,如果一个日文浏览器在 HTTP 请求中发送了表格或查

  • 看看别人想出了什么设计与特性是十分有趣的。下面列出了一些可供学习的博客。 Tom Preston-Werner (源代码) Nick Quaranto (源代码) Roger Chapman (源代码) GitHub Official Teaching Materials (源代码) Rasmus Andersson (源代码) Scott Chacon (源代码) 如果你想查看更多的示例,你可以

  • 问题内容: 在回答这个问题之前,我还没有开发出足以达到高服务器负载的流行方法。将我当作(叹息)刚刚降落在地球上的外星人,尽管它知道PHP和一些优化技术。 我正在用 PHP 开发一个工具,如果可以的话,它可以吸引很多用户。但是,尽管我完全有能力开发该程序,但在编写可以处理大量流量的东西时却一无所知。因此,这里有一些问题(也可以将这个问题转换为资源线程)。 资料库 目前,我计划在PHP5中使用MySQ