在 URL 中使用“导出”查询字符串从 GSheet 创建 PDF

问题描述 投票:0回答:1

这种方法直到最近才有效,但现在只有在我更改代码或 GSheet 后才有效一次,但后续调用会出现服务器 500 错误。

我已经尝试了 URL 的所有组合,直到绝对最小值,并在遇到相同错误时在浏览器地址栏中运行生成的 URL。

代码基于

https://gist.github.com/Spencer-Easton/78f9867a691e549c9c70

var url = SpreadsheetApp.getActive().getUrl().replace(/\/edit.*$/, '')

url += '/export?exportFormat=pdf&format=pdf'   
+ '&gid=' + sheetId
+ '&size=letter'      // paper size
+ '&portrait=true'    // orientation, false for landscape
+ '&fitw=true'        // fit to width, false for actual size
+ '&sheetnames=false&printtitle=false&pagenumbers=false'  //hide optional headers and footers
+ '&gridlines=false'  // hide gridlines

var options = {
  muteHttpExceptions: false,
  headers: {
    'Authorization': 'Bearer ' +  ScriptApp.getOAuthToken(),
  }
}

// Throws 500 error on second call ...    
var response = UrlFetchApp.fetch(url, options)

if (response.getResponseCode() !== 200) {
  throw new Error(response.getContentText())
}
google-sheets google-apps-script http-status-code-500 export-to-pdf
1个回答
1
投票

问题是我在导出之前隐藏了要导出的 GSheet 选项卡。

© www.soinside.com 2019 - 2024. All rights reserved.