通过 Google Apps 脚本发布 Google 电子表格

2024-03-20

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

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


  • 你想要实现File > Publish to the web...使用 Google Apps 脚本。

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

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

示例脚本:

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

官方文件: https://developers.google.com/drive/api/v2/reference/revisions/update

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

Note:

  • Spreadsheet has the revision ID of 1 as the default, when new Spreadsheet is created. And by publishAuto, when the Spreadsheet is updated, the updated Spreadsheet is automatically reflected to the published Spreadsheet.
    • 我将它们用于此示例脚本。
    • 如果要修改此设置,请修改脚本。

参考:

  • 高级谷歌服务 https://developers.google.com/apps-script/guides/services/advanced
  • 修订内容:更新 https://developers.google.com/drive/api/v2/reference/revisions/update

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

Edit:

关于发布电子表格的URL,当手动发布电子表格时,可以像这样检索URLhttps://docs.google.com/spreadsheets/d/e/2PACX-###/pubhtml。在这种情况下,2PACX-###不是电子表格 ID。不幸的是,在现阶段,API 无法检索该 URL。 Drive API v2 已通过以下方式检索它publishedLink前。但现在,已经无法找回了。当 Drive API 从 v2 更新到 v3 时,publishedLink去掉了。 https://developers.google.com/drive/v3/web/migration这就是目前的情况。

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 Google Apps 脚本发布 Google 电子表格 的相关文章

随机推荐

  • 使用 jQuery 重命名 jQuery UI 选项卡

    我有 3 个标签 div ul li a href tabs 1 Tab1 a li li a href tabs 2 Tab2 a li li a href tabs 3 Tab3 a li ul div div div div div
  • Visual Studio 9 解决方案中的项目数量是否会影响解决方案加载和生成时间?

    我对解决方案加载时间和构建时间特别感兴趣 更少的解决方案是否意味着更好的性能 请注意 我是not指的是所构建应用程序的性能 处理较少数量的项目时 加载时间和构建时间是否更高效 作为指导 我们的 Visual Studio 解决方案中有 50
  • 具有命名约定的可见性自动绑定

    我真的很喜欢 Caliburn 和命名约定绑定 并且很惊讶 可见性的约束方式与使用 CanNAME 约定保护操作的方式不同 据我所知 BooleanToVisibilityConverter 仅在 Caliburn 中显式使用 Bindin
  • mysql concat_ws 没有重复项

    我试图将几个字段连接成一个字段 但只在结果字符串中保留唯一值 Example title orig title fr title de title it KANDAHAR KANDAHAR REISE NACH KANDAHAR VIAGG
  • Angular2:如何从node_modules导入样式表?

    问题 在我的 Angular2 4 0 应用程序中 如何从 node modules 中的模块导入样式表 css 我有一个模块位于此处 node modules swimlane ngx datatable 我想导入这个样式表 node m
  • iOS 使用 UIActivityViewController 将图像共享到 LinkedIn

    我正在尝试将图像共享给我的设备中安装的所有可能的应用程序 但不幸的是 我无法将图像成功发布到 LinkedIn 已安装并以经过验证的用户身份登录 LinkedIn 显示在 UIActivityViewController 中的共享操作列表中
  • Azure 存储 SAS 身份验证失败

    我有一个私有的 azure 存储容器 并且正在尝试 azure 存储 SAS 以便我可以上传和下载文件 我能够生成签名 但它总是向我抛出身份验证失败错误 AuthenticationFailed服务器无法验证请求 确保授权标头的值格式正确
  • python 类型提示不会为错误类型生成错误

    我最近正在检查类型提示 在阅读了一些理论后 我尝试了一个简单的示例 如下所示 def myfun num1 int num2 int gt int return str num1 num2 a myfun 1 abc print a out
  • 在 PHP 中输​​出带有换行符的文本文件

    我正在尝试打开一个文本文件并使用下面的代码输出其内容 该文本文件包含换行符 但当我回显该文件时 其未格式化 我该如何解决 Thanks fh fopen filename txt r pageText fread fh 25000 echo
  • 用双斜杠替换单斜杠,php

    如何用双斜杠替换单斜杠 我有这样的文字 data folder and i need get data folder 我尝试替换 但出现错误 data str replace data 你说的是反斜杠还是普通斜杠 无论如何 请检查下面的代码
  • Python 3 类型注释和子类

    如何在 Python 类型注释中引用 任何子类化父类的对象 例子 FooBase是一个抽象基类 其中Foo1 Foo2等被子类化 我希望该函数接受任何后代FooBase 这会吗 def do something self bar FooBa
  • 使用seaborn时如何从箱线图中获取统计值?

    我用seaborn制作了一个箱线图 我想获得一些统计值 例如最小值 第一四分位数 中位数 第三四分位数 最大值以及异常值 是否有任何函数或属性可以通过 seaborn boxplot 直接收集这些值 或者我应该通过其他包或手动计算这些 使用
  • 为什么我的本地对象被破坏了两次?

    我有一个返回本地对象的函数 class AT public AT cout lt lt construct lt
  • Birt 查看器无法加载报告查询

    当我尝试运行 BIRT 查看器时 显示以下错误 无法加载报表查询 163 为 ID 为 163 的报表元素生成报表文档时发生错误 元素 ID 163 但同一模块在 Eclipse 中成功地给出了报表设计结果 我正在使用 JDBC 连接 我该
  • 如何将JSON数据保存在本地(本机上)?

    我使用以下链接创建树状结构 这是我的代码
  • 删除零线二维numpy数组

    I run a qr factorization in numpy它返回一个列表ndarrays 即Qand R gt gt gt q r np linalg qr np array 1 0 0 0 1 1 1 1 1 reshape 3
  • 如何重定向到 CloudFront 分配中的特定 CNAME

    我在 AWS 中有 2 个 CloudFront 发行版 每个发行版都有自己不同的证书 每个 CNAME 都附加了多个 CNAME 并且每个 CNAME 在 Route 53 中都有一个对应的记录集 有没有办法将其中一个 URL 重定向到另
  • 在 C++ 中使用 setInterval()

    在JavaScript中 有一个函数叫做setInterval 用C 可以实现吗 如果使用循环 程序不会继续 而是继续调用该函数 while true Sleep 1000 func cout lt lt Never printed 没有内
  • For循环应该打印出ArrayList属性和其他ArrayList属性

    我正在尝试从同一系统中的两个不同的 ArrayList 打印属性 无法让它工作并自杀找出为什么它不起作用 for int i 0 i lt resultlist size i Athlete matched null Result res
  • 通过 Google Apps 脚本发布 Google 电子表格

    是否可以使用 Google Apps 脚本将 Google 电子表格发布到网络上 现在我必须使用手动执行此操作File gt Publish to the web 我检查了所有 Google Apps 脚本参考和指南 但没有看到任何有关通过