【问题标题】:google docs linked charts refresh with api or apps scriptgoogle docs 链接图表使用 api 或应用程序脚本刷新
【发布时间】:2020-07-08 11:46:42
【问题描述】:

我有一个谷歌文档,我在我的网站的 iframe 中显示以供公共编辑,它包含来自公共电子表格的链接图表,

我用电子表格api更改了图表数据,但是文档中的图表没有自动刷新,并且我无法单击更新或更新文档中的所有内容,因为“更新按钮”是禁用,

所以我想使用 google docs api 或应用程序脚本来刷新图表, 我没有找到如何使用 google docs api,并且 apps 脚本 不会在 iframe 内触发,

你能告诉我怎么做吗? 谢谢。

【问题讨论】:

    标签: google-apps-script google-sheets-api google-docs-api


    【解决方案1】:

    很遗憾,无法以编程方式刷新 Google 文档中的图表。您绝对应该 submit 提出对 SheetsChart 支持的功能请求,就像在 Google Slide App Script Service 中一样。

    幻灯片的解决方法

    由于更新功能目前可用于幻灯片,因此您可以将幻灯片样式设置为文档并在 iFrame 中使用它。遵循此更新逻辑,您将能够每分钟触发一次 SheetsChart 刷新,例如:

    function myFunction() {
      ScriptApp.newTrigger('updateCharts').timeBased().everyMinutes(1).create();
    }
    
    function updateCharts() {
      let slides = SlidesApp.getActivePresentation().getSlides();
      slides.forEach(slide => {
                     let charts = slide.getSheetsCharts();
                     charts.forEach(chart=> chart.refresh());
                     });
    }
    

    文档的解决方法

    但是,由于您的目标是为您的网站查看者提供最新版本的 iFrame,这可以在文档保存时自动完成:

    File > Publish on the Web > check Automatically republish when changes are made

    不过,您必须手动更新文档中的图表。但此更改会自动反映在您的网页中。

    【讨论】:

    • 谢谢你的建议,其实我不会手动更新图表数据,我是通过客户端点击触发的google电子表格API来完成的,所以我需要刷新文档中的链接图表自动
    • 那么目前无法自动更新文档中的图表。不过,您可以使用 Google 幻灯片应用程序,我认为如果您正确设置它的样式,您将获得相同的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 2021-06-16
    • 1970-01-01
    • 2018-12-22
    • 1970-01-01
    相关资源
    最近更新 更多