Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 获取外部URL并保存到驱动器_Google Apps Script_Google Drive Api_Urlfetch - Fatal编程技术网

Google apps script 获取外部URL并保存到驱动器

Google apps script 获取外部URL并保存到驱动器,google-apps-script,google-drive-api,urlfetch,Google Apps Script,Google Drive Api,Urlfetch,我想获取一个PDF URL并将其保存到驱动器。文件夹ID和URL是正确的 function uploadDoc(){ var folder = DriveApp.getFolderById('my_folder_id'); var url = 'my_url'; var blob = UrlFetchApp.fetch(url); var blob2 = blob.getAs('appl‌​ication/pdf'); var newFile = folder.creat

我想获取一个PDF URL并将其保存到驱动器。文件夹ID和URL是正确的

function uploadDoc(){
  var folder = DriveApp.getFolderById('my_folder_id');
  var url = 'my_url';

  var blob = UrlFetchApp.fetch(url);
  var blob2 = blob.getAs('appl‌​ication/pdf');

  var newFile = folder.createFile('filename.pdf',blob2);
}
当我运行此程序时,我得到:

Exception: Converting from binary/octet-stream to appl‌​ication/pdf is not supported.

您需要解决两个问题:

  • UrlFetchApp.fetch(url)
    之后,您需要使用
    getBlob()
    getAs('appl‌​不严格要求使用/pdf')
    方法

  • 如果您使用的是blob,则需要使用
    createFile(blob)

  • 您使用的是
    createFile(名称、内容)
    ,在这个方法中,
    content
    是字符串而不是blob

    然后,要指定新文件的名称,需要使用
    setName(name)

    function uploadDoc() {
      var url = 'https://www.gstatic.com/covid19/mobility/2021-02-21_AF_Mobility_Report_en.pdf';
      var foID = 'my_folder_id';
      var folder = DriveApp.getFolderById(foID);
      var blob = UrlFetchApp.fetch(url).getBlob();
      var newFile = folder.createFile(blob).setName('filename.pdf');
    }