异常:mediaData参数只支持Blob类型上传

Exception: The mediaData parameter only supports Blob types for upload

我正在尝试从 Google sheet 中导出一个 csv,并为其指定在对话框中输入的名称。代码是:

var ssID = SpreadsheetApp.getActiveSpreadsheet().getId();
var sheet_Name = "csv" 
 

var requestData = {"method": "GET", "headers":{"Authorization":"Bearer "+ScriptApp.getOAuthToken()}};

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheet_Name)
  var sheetNameId = sheet.getSheetId().toString();

  params= ssID+"/export?gid="+sheetNameId +"&format=csv"
  var url = "https://docs.google.com/spreadsheets/d/"+ params
  var result = UrlFetchApp.fetch(url, requestData);

  var ui = SpreadsheetApp.getUi();
  var result = ui.prompt("Enter Name for CSV");
  var csvName = result.getResponseText();
  

  var folder_id ='1ENj9Rk0djm2jp0FOorWcWmsIEqEp1pFp';
  var timeZone = Session.getScriptTimeZone();
  date = Utilities.formatDate(new Date(), timeZone, "YYMMdd");


  var resource = {
  title: date+csvName+".csv",
  mimeType: "application/vnd.csv",
  parents: [{ id: folder_id }]}

  var fileJson = Drive.Files.insert(resource, result, {supportsAllDrives: true});

问题是我刚得到:

异常:mediaData 参数仅支持上传 Blob 类型。

这很容易修复吗??

在您的脚本中,var result = UrlFetchApp.fetch(url, requestData);resultvar result = ui.prompt("Enter Name for CSV"); 覆盖。我认为这就是你的问题的原因。那么在你的脚本中,下面的修改怎么样?

发件人:

var result = ui.prompt("Enter Name for CSV");
var csvName = result.getResponseText();

收件人:

var res = ui.prompt("Enter Name for CSV");
var csvName = res.getResponseText();