URL存在时,Google Apps脚本UrlFetchApp返回404

道格拉斯·加斯凯尔

我正在尝试检索电子表格的pdf。每当我尝试时,都会出现以下错误:

请求失败,网址https://docs.google.com/a/firstcallres.com/spreadsheets/d/1ZPcW5cOQT5w28VUbr_JG9U-r7m6Uf-MDQcSmFOyhbE8/export?exportFormat=pdf&format=pdf&size=letter&portrait=false&fitw=true&source=name&source=lab& = false&fzr = false&gid = 1680655368返回了代码404。

如果登录时单击上面的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错误。

斯宾塞·伊斯顿(Spencer Easton)

您缺少发出此请求的适当范围。它应该返回未经身份验证的401而不是404。要解决此问题,您需要添加Drive范围。我通过DriveApp.getRootFolder()在脚本中的某个位置进行简单调用来实现此目的这会将驱动器作用域添加到您的项目中。任何对DriveApp的调用都会添加作用域。

这是一个示例脚本:

function exportToPDF() {    
  var url = "https://docs.google.com/spreadsheets/d/1oQ2zsbcCwuc_wdwgfFopRJn-5fGN3oY7L237ivxuxmM/export?exportFormat=pdf"; //add your options as you wish
  var res = UrlFetchApp.fetch(url, {headers:{"Authorization":"Bearer " + ScriptApp.getOAuthToken()},muteHttpExceptions:true});
  var newPdf = Utilities.newBlob(res.getContent(), "application/pdf", "Export.pdf")
  DriveApp.createFile(newPdf);
}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么Google Apps脚本的UrlFetchApp返回HTML而不是csv文件(请求Facebook API)?

来自分类Dev

Google Apps脚本:UrlFetchApp发布文件

来自分类Dev

Google Apps Script / URLFetchApp并使用返回的数据

来自分类Dev

无法在Google Apps脚本中解析来自UrlFetchApp的数据

来自分类Dev

如何使用UrlFetchApp.fetch(url,params)在Google Apps脚本中正确查询Facebook Graph API?

来自分类Dev

UrlFetchApp在Google Apps脚本中上传文件multipart / form-data

来自分类Dev

如何在Google Apps脚本中使用UrlFetchApp更新Github存储库?

来自分类Dev

Google Apps脚本UrlFetchApp.fetch将整数转换为浮点数吗?

来自分类Dev

UrlFetchApp在Google Apps脚本中上传文件multipart / form-data

来自分类Dev

在Google Apps脚本中将UrlFetchApp与触发器配合使用是否有限制

来自分类Dev

Google Apps脚本返回错误“超出限制:URLFetch URL长度”

来自分类Dev

Google Apps脚本getSheetByName返回null

来自分类Dev

在Google Apps脚本中返回数组

来自分类Dev

在Google Apps脚本中返回空值

来自分类Dev

从Google Apps脚本调用Google Cloud Endpoint API时出现错误404

来自分类Dev

在Google Apps脚本中将UrlFetchApp与触发器一起使用是否有限制

来自分类Dev

使用基本身份验证的Google Apps脚本中的UrlFetchApp.fetch出现意外错误

来自分类Dev

使用 UrlFetchApp 和 DocumentApp 时 Google App 脚本授权失败

来自分类Dev

Google Apps脚本的内容服务返回HTML而不是JSON

来自分类Dev

doGet函数中的Google Apps脚本返回图像

来自分类Dev

如何从Google Apps脚本网络应用返回图片?

来自分类Dev

从函数{google apps脚本}获取返回值

来自分类Dev

返回Google Apps脚本中的字符串长度

来自分类Dev

返回符合条件的某些行-Google Apps脚本

来自分类Dev

Google Apps脚本,用于以超链接形式返回文本

来自分类Dev

Google Apps 脚本:如何设置返回到我的页面?

来自分类Dev

如何创建Google云端硬盘中的图像文件,然后将其插入到外部API的Google Apps脚本UrlFetchApp.fetch调用中?

来自分类Dev

退出时未显示Google Apps脚本

来自分类Dev

提取返回404时替换img URL

Related 相关文章

  1. 1

    为什么Google Apps脚本的UrlFetchApp返回HTML而不是csv文件(请求Facebook API)?

  2. 2

    Google Apps脚本:UrlFetchApp发布文件

  3. 3

    Google Apps Script / URLFetchApp并使用返回的数据

  4. 4

    无法在Google Apps脚本中解析来自UrlFetchApp的数据

  5. 5

    如何使用UrlFetchApp.fetch(url,params)在Google Apps脚本中正确查询Facebook Graph API?

  6. 6

    UrlFetchApp在Google Apps脚本中上传文件multipart / form-data

  7. 7

    如何在Google Apps脚本中使用UrlFetchApp更新Github存储库?

  8. 8

    Google Apps脚本UrlFetchApp.fetch将整数转换为浮点数吗?

  9. 9

    UrlFetchApp在Google Apps脚本中上传文件multipart / form-data

  10. 10

    在Google Apps脚本中将UrlFetchApp与触发器配合使用是否有限制

  11. 11

    Google Apps脚本返回错误“超出限制:URLFetch URL长度”

  12. 12

    Google Apps脚本getSheetByName返回null

  13. 13

    在Google Apps脚本中返回数组

  14. 14

    在Google Apps脚本中返回空值

  15. 15

    从Google Apps脚本调用Google Cloud Endpoint API时出现错误404

  16. 16

    在Google Apps脚本中将UrlFetchApp与触发器一起使用是否有限制

  17. 17

    使用基本身份验证的Google Apps脚本中的UrlFetchApp.fetch出现意外错误

  18. 18

    使用 UrlFetchApp 和 DocumentApp 时 Google App 脚本授权失败

  19. 19

    Google Apps脚本的内容服务返回HTML而不是JSON

  20. 20

    doGet函数中的Google Apps脚本返回图像

  21. 21

    如何从Google Apps脚本网络应用返回图片?

  22. 22

    从函数{google apps脚本}获取返回值

  23. 23

    返回Google Apps脚本中的字符串长度

  24. 24

    返回符合条件的某些行-Google Apps脚本

  25. 25

    Google Apps脚本,用于以超链接形式返回文本

  26. 26

    Google Apps 脚本:如何设置返回到我的页面?

  27. 27

    如何创建Google云端硬盘中的图像文件,然后将其插入到外部API的Google Apps脚本UrlFetchApp.fetch调用中?

  28. 28

    退出时未显示Google Apps脚本

  29. 29

    提取返回404时替换img URL

热门标签

归档