如何从url下载.xlsx文件?

如何从url下载.xlsx文件?,url,google-apps-script,download,xlsx,Url,Google Apps Script,Download,Xlsx,所以基本上我每天都会收到一份来自广告平台的报告,这是一个url,一旦我点击它,它就会开始在我的浏览器上下载excel文件 我在谷歌应用程序脚本上工作,不知道该怎么做才能下载文件。理想情况下,一旦我能够访问.xlsx文件,我将使用 var csv=theFile.getAs('text/csv') 。。然后很容易粘贴到gsheet中。如果有人能提出一个关于如何处理的想法,那将非常有帮助 谢谢, Alex假设文件不在任何受密码保护的站点后面: var link = '{{link}}'; var

所以基本上我每天都会收到一份来自广告平台的报告,这是一个url,一旦我点击它,它就会开始在我的浏览器上下载excel文件

我在谷歌应用程序脚本上工作,不知道该怎么做才能下载文件。理想情况下,一旦我能够访问.xlsx文件,我将使用

var csv=theFile.getAs('text/csv')

。。然后很容易粘贴到gsheet中。如果有人能提出一个关于如何处理的想法,那将非常有帮助

谢谢,
Alex

假设文件不在任何受密码保护的站点后面:

var link = '{{link}}';

var response = UrlFetchApp.fetch(link);
var excelfile = DriveApp.createFile(response);

var driveresource = 
   {
      title: excelfile.getName(),
      mimeType: MimeType.GOOGLE.SHEETS
   };

  Drive.Files.insert(driveresource,response);


这将下载Excel文件并在主驱动器文件夹中创建google工作表

你的代码运行正常,我实际上需要进入 资源>高级谷歌服务>打开“驱动API”

我来了!我不知道如何找到新创建的文件的URL,虽然


但无论如何,感谢你和@Sourabh Choria在这里帮助我

您是否可以共享实际链接,以便我们就如何获取该文件提供建议?另外,如果你能分享到目前为止你所尝试过的所有东西——代码POV.Heyy,那也会有帮助。不幸的是,我不能分享这个链接,因为它包含了我客户的一些敏感数据。。。不过,我可以分享到目前为止的一些代码(tbf,现在主要是我的gmail,应用一些标签,提取正确的线程和最后一封电子邮件来查找报告的url…如果(subject==reportName&&sentFrom==expeditor&&date==today.valueOf()){var body=email.getBody()var startIndex=body.indexOf(“报表下载URL:”)var endIndex=body.indexOf(“此下载链接将于到期”)var substring=body.substring(startIndex,endIndex)var startIndex2=substring.indexOf(“http”)var endIndex2=substring.indexOf(“>”)var URL=substring.substring(startIndex2,endIndex2)嘿,罗布,谢谢你回来找我,我试过这个代码,但我收到了这个错误消息:嘿,罗布,谢谢你回来找我,我试过这个代码,但我收到了这个错误消息:TypeError:无法读取未定义的属性“SHEETS”,url周围是否需要双花括号?上面的代码有效,我已经测试过了。花括号不需要brakets,您应该交换{{link}为了你的实际利益https://... link@AlexandraMorel-Fonteray,当链接中引用的文件实际上不是Excel文件blob时,我能够复制您收到的错误。当您从链接中删除花括号时,这解决了您的问题还是您仍然收到此错误?
        var finalUrl = url1.toString().replace(/%3A/g,':').replace(/%2F/g,'/').replace(/%3F/g,'?').replace(/%26/g,'&').replace(/%3D/g,'=').replace(/%25/g,'%')

    var response = UrlFetchApp.fetch(finalUrl);
    var excelfile = DriveApp.createFile(response);

    var driveresource = 
  {
    title: excelfile.getName(),
    mimeType: MimeType.GOOGLE_SHEETS
  };

   Drive.Files.insert(driveresource,response);