【发布时间】:2016-04-07 00:16:52
【问题描述】:
我正在尝试检索电子表格的 pdf。每当我尝试时,我都会收到以下错误:
如果我在登录时单击上述 URL,则会下载 PDF。
如果我使用以下代码,我将返回一个登录页面作为响应。 URL 是工作表 url,url_ext 是参数。
var response = UrlFetchApp.fetch(url + url_ext);
如果我随后将以下代码与 OAuth 令牌一起使用,我会收到 404 响应。
var response = UrlFetchApp.fetch(url + url_ext, {
headers: {'Authorization': 'Bearer ' + ScriptApp.getOAuthToken() }
});
为什么会这样?如何使用令牌通过应用程序脚本访问工作表以检索 PDF?
编辑:它自发地开始处理我的测试应用脚本。但是,如果我在另一个应用程序脚本中创建完全相同的函数,它会再次失败并出现 404 错误。
我做了更多故障排除,并将工作功能复制粘贴到新的应用程序脚本项目中。该功能成功运行,之后非工作功能现在可以工作。
在它失败和工作之间没有对非工作功能进行任何编辑。
Edit2:我可以重现此错误:如果我使用我的第二个工作函数,并将其复制粘贴到新项目中,它将失败并出现 404 错误。我不知道为什么会发生这种情况,但是当它在其他地方使用完全相同的代码工作时,我可以成功重现 404 错误。
【问题讨论】:
-
您可能需要查看question 31891694。使用 UrlFetchApp.fetch 方法处理 404 错误时存在问题。
-
嘿 lex,如果我将 http 错误设为静音,我将无法返回任何真实数据,就好像它进入了一个空白页面一样。
-
请在此链接上查看UrlFetchApp
-
嘿莱克斯。
URLFetchApp文档已经过时了。他们的 OAuth 示例使用了很久以前贬值的服务。
标签: javascript pdf google-apps-script