将工作表另存为单独的PDF:“发出API请求时必须包括API令牌。”

墨菲

在Google表格中,我想将工作簿中的每个表格另存为单独的PDF。我在Google文档帮助论坛上找到了以下脚本

function saveSheetsAsPDF() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var url = ss.getUrl().replace(/edit$/,'');
  var parents = DriveApp.getFileById(ss.getId()).getParents();
  if (parents.hasNext()) {var folder = parents.next();}
  else {folder = DriveApp.getRootFolder();}
  var sheets = ss.getSheets();
  for (var i=0; i<sheets.length; i++) {
    var url_ext = 'export?exportFormat=pdf&format=pdf&gid=' + sheets[i].getSheetId()
    +'&size=letter&portrait=true&fitw=true&sheetnames=false'
    +'&printtitle=false&pagenumbers=false&gridlines=false&fzr=false';
    var options = {headers:{'Authorization':'Bearer '+ScriptApp.getOAuthToken()}}
    var response = UrlFetchApp.fetch(url + url_ext, options);
    var blob = response.getBlob().setName(ss.getName()+' - '+sheets[i].getName()+'.pdf');
    folder.createFile(blob);
  }
};

该脚本有效-但仅适用于工作簿的前六页。将第六张工作表另存为PDF后,它返回以下错误:

<?xml version="1.0" encoding="UTF-8"?> <intervals personid=""
 status="Unauthorized" code="401"><error><code>9</code><message>User
 bad auth</message><verbose><item>You must include your API token when
 making API requests.</item></verbose></error></intervals>

我很困惑为什么它可以完美地工作六张纸,然后停下来。

有想法吗?

墨菲

解决:显然,这@Will建议的“请求过多”问题。我在循环末尾添加了以下延迟:

Utilities.sleep(6000);

现在,脚本会将工作簿中的所有17张工作表另存为单独的PDF。我不知道在这段时间内有多少个请求“太多”,但是6秒的延迟解决了这个问题(3秒的延迟是不够的)。

谢谢大家的投入。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将工作表另存为单独的PDF:“发出API请求时必须包括API令牌。”

来自分类Dev

将Excel工作簿的单独工作表另存为PDF

来自分类Dev

将Excel工作表另存为PDF

来自分类Dev

将多个 Excel 工作表另存为 PDF

来自分类Dev

将Google API请求另存为Javascript对象

来自分类Dev

使用VBA宏将每个Excel工作表另存为单独的工作簿

来自分类Dev

VBA-忽略隐藏的工作表-将特定的工作表另存为PDF

来自分类Dev

将带有图形的工作表另存为 PDF

来自分类Dev

将Excel工作表另存为HTML

来自分类Dev

将Excel工作表另存为.txt

来自分类Dev

将Excel工作表另存为JSON文件

来自分类Dev

将另一个工作表另存为pdf,同时循环浏览下拉菜单,而不显示每个项目的“另存为”框

来自分类Dev

将元素另存为pdf时添加标题

来自分类Dev

Excel工作簿另存为.pdf

来自分类Dev

动态将段落另存为PDF?

来自分类Dev

将油量图另存为PDF

来自分类Dev

将pdf文件另存为blob

来自分类Dev

将Wikipedia表另存为图像

来自分类Dev

将.maf文件另存为表

来自分类Dev

使用 vscode API 实现“另存为”

来自分类Dev

无法使用Python的win32com API将Excel 2010文件另存为PDF?

来自分类Dev

VBA将单个工作表另存为CSV(不是整个工作簿)

来自分类Dev

如何在Excel VBA中将每个工作表的首页另存为PDF

来自分类Dev

将excel另存为pdf,将文件名另存为变量值

来自分类Dev

关于将活动表另存为新工作表的问题

来自分类Dev

关于将活动表另存为新工作表的问题

来自分类Dev

发出请求时Vimeo API无效令牌

来自分类Dev

将每一行另存为单独的文件

来自分类Dev

将文档页面另存为单独的文档

Related 相关文章

热门标签

归档