【问题标题】:publish a Google Spreadsheet through Google Apps Scripts通过 Google Apps 脚本发布 Google 电子表格
【发布时间】:2019-06-06 00:07:07
【问题描述】:

是否可以使用 Google Apps 脚本将 Google 电子表格发布到网络?现在我必须手动使用File > Publish to the web...

我查看了所有 Google Apps 脚本参考和指南,但没有看到任何关于通过 GAS 自动化发布脚本的信息。

【问题讨论】:

    标签: google-apps-script google-drive-api


    【解决方案1】:
    • 您想使用 Google Apps 脚本实现 File > Publish to the web...

    如果我的理解是正确的,这个示例脚本怎么样?

    使用此脚本时,请在 Google 高级服务中启用 Drive API。

    示例脚本:

    var spreadsheetId = "###"; // Please set this.
    Drive.Revisions.update({published: true, publishedOutsideDomain: true, publishAuto: true}, spreadsheetId, 1);
    

    Official document:

    • publishAuto:后续修订是否会自动重新发布。这仅是填充的,并且只能针对 Google 文档进行修改。
    • 已发布:此修订版是否已发布。这仅是填充的,并且只能针对 Google 文档进行修改。
    • publishedOutsideDomain:此修订是否在域外发布。这仅是填充的,并且只能针对 Google 文档进行修改。

    注意:

    • 在创建新的电子表格时,电子表格的默认修订 ID 为 1。而通过publishAuto,当电子表格更新时,更新的电子表格会自动反映到已发布的电子表格中。
      • 我将它们用于此示例脚本。
      • 如果要修改此设置,请修改脚本。

    参考资料:

    如果我误解了您的问题并且这不是您想要的结果,我深表歉意。

    编辑:

    关于已发布电子表格的网址,当电子表格手动发布时,可以像https://docs.google.com/spreadsheets/d/e/2PACX-###/pubhtml一样检索网址。在这种情况下,2PACX-### 不是电子表格 ID。不幸的是,在当前阶段,API 无法检索此 URL。 Drive API v2 之前使用publishedLink 检索过它。但现在,无法找回。 When Drive API is updated from v2 to v3, publishedLink was removed.这是目前的情况。

    但作为一种解决方法,您可以使用电子表格 ID 创建已发布电子表格的 URL。请检查以下网址。

        https://docs.google.com/spreadsheet/pub?key=### spreadsheetId ###
    

    您可以使用上述 URL 访问已发布的电子表格。

    【讨论】:

    • 我明白了。我需要弄清楚如何在 Google Apps 脚本中使用此代码。让我玩它,看看我能不能让它工作。谢谢!
    • @IMTheNachoMan 感谢您的回复。这是 Google Apps 脚本。在脚本编辑器的高级 Google 服务中启用 Drive API 后,您可以在脚本编辑器中使用此脚本。如果这不是您想要的方向,我很抱歉。
    • @IMTheNachoMan 对于你的问题我有什么可以做的吗?如果我的回答对您的情况没有用。我必须道歉并修改它。如果您能合作解决您的问题,我很高兴。我想考虑一下解决方案。
    • 我认为这会起作用,但我还没有测试过。我现在正在研究它,希望今天能得到这个代码。我会尽快更新。谢谢!
    • 这太棒了。非常感谢!这解决了我所有的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-15
    • 2013-09-12
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多