はじめに
小ネタです。
GAS (Google Apps Script) で文字コードを指定しつつ、ファイル出力することを考えます。
コード
/** * ファイル書き出し * @param {string} fileName ファイル名 * @param {string} content ファイルの内容 */ function createFile(fileName, content) { var folder = DriveApp.getFolderById('##### フォルダID #####'); var contentType = 'text/plain'; var charset = 'utf-8'; // Blob を作成する var blob = Utilities.newBlob('', contentType, fileName) .setDataFromString(content, charset); // ファイルに保存 folder.createFile(blob); }
解説
使い方
フォルダID、ContentType、文字コードを指定するだけでOKです。
下記URLの******の部分がフォルダIDです。
https://drive.google.com/drive/u/0/folders/******
Blob ?
本当は createFile(name, content, mimeType)
というズバリなものもあるのですが、こちらは文字コードの指定ができません。
Class DriveApp | Apps Script | Google Developers
遠回りなようですが、Blobオブジェクトを生成して、setDataFromString(string, charset)
でファイルの内容を文字コード指定でセットしております。
Class Blob | Apps Script | Google Developers
最後に
JavaScriptの知識だけでは対応できないことも多いので、今後も小さいネタでも投下していこうと思います。
以上でした!