String 如何使用应用程序脚本将(手动形成的)csv字符串上载到Fusion表?

String 如何使用应用程序脚本将(手动形成的)csv字符串上载到Fusion表?,string,csv,google-apps-script,google-fusion-tables,media-type,String,Csv,Google Apps Script,Google Fusion Tables,Media Type,我正在尝试编写一个应用程序脚本,用以下代码将csv字符串上载到Fusion表: var txtCSV = 'my,csv,string'; var blbCSV = Utilities.newBlob(txtCSV); FusionTables.Table.importRows(tableID, blbCSV); 我收到以下错误:不支持媒体类型“text/plain”。有效媒体类型:[应用程序/八位字节流] 我需要将csv字符串转换为二进制blob吗?如果是,我该怎么做? 还是我需要用不同的方

我正在尝试编写一个应用程序脚本,用以下代码将csv字符串上载到Fusion表:

var txtCSV = 'my,csv,string';
var blbCSV = Utilities.newBlob(txtCSV);
FusionTables.Table.importRows(tableID, blbCSV);
我收到以下错误:不支持媒体类型“text/plain”。有效媒体类型:[应用程序/八位字节流]

我需要将csv字符串转换为二进制blob吗?如果是,我该怎么做? 还是我需要用不同的方式


注意:csv字符串是在脚本的前面步骤中手动构造的

也许不是最漂亮的解决方案,但我终于能够让它像这样工作:

var txtCSV = 'my,csv,string';
var binCSV = Utilities.base64Decode(Utilities.base64Encode(txtCSV));
var blbCSV = Utilities.newBlob(binCSV);
FusionTables.Table.importRows(tableID, blbCSV);

仍然欢迎任何建议:-

只需将blob指定为八位字节流:

var txtCSV = 'my,csv,string'
var mediaData = Utilities.newBlob(txtCSV, 'application/octet-stream')
FusionTables.Table.importRows(TABLE_ID, mediaData)

太好了,谢谢!我以为我试过类似的东西,但我遇到了转换错误,所以很明显这不是你写的,也不好。