异常: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);
的 result
被 var 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();
我正在尝试从 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);
的 result
被 var 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();