gpt4 book ai didi

google-apps-script - 来自 Google 表格 exportLink ['application/pdf' 的 UrlFetch] 不返回 PDF 数据

转载 作者:行者123 更新时间:2023-12-01 22:50:52 25 4
gpt4 key购买 nike

我创建并发送定期电子邮件作为 Google 表格的更新。出于各种客户原因,这是通过 3 种方式完成的,作为工作表的链接,以及作为附件(PDFXLSX)。

这直到最近才有效。 XSLX 附件仍然有效,但不再将 PDF 作为对 UrlFetch 的响应发送到 file.exportLinks('application/pdf') url。无论请求 header 是什么,它始终以 Content-Type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

形式返回

我在这里遗漏了其他未记录的更改吗?

function exportAsPDF(spreadsheetId) {
spreadsheetId = spreadsheetId || 'SECRET_ID';

var file = Drive.Files.get(spreadsheetId),
url = file.exportLinks['application/pdf'];

url += '&format=pdf&size=7&fzr=true&portrait=true&fitw=true&gid=0&gridlines=false&printtitle=false&sheetnames=false&pagenum=UNDEFINED&attachment=true'

var token = ScriptApp.getOAuthToken(),
response = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + token
}
});

var headers = response.getAllHeaders(); // revealing content-type returned isn't pdf
var pdfBlob = response.getBlob().getAs('application/pdf');
var pdfString = pdfBlob.getDataAsString(); // this naturally throws an error

return response.getBlob(); // this returns to the send mail script
}

最佳答案

我可以使用 Convert all sheets to PDF with Google Apps Script 中的实用程序获取 PDF .

该工作脚本将电子表格的编辑 URL 修改为导出 URL,如下所示:

https://docs.google.com/spreadsheets/d/<%SS-ID%>/export?exportFormat=pdf...

高级云端硬盘服务提供格式如下的导出 URL:

https://docs.google.com/spreadsheets/export?id=<%SS-ID%>&exportFormat=pdf...

我希望 exportLinks 提供的 URL 比工作脚本中的 hack 更可靠。显然,事实并非如此。

这已被提出为 Issue 5114 .为其加注星标以接收更新。

关于google-apps-script - 来自 Google 表格 exportLink ['application/pdf' 的 UrlFetch] 不返回 PDF 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31116726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com