前提
GASでチャットワークにファイルを送信すると、日本語のファイル名が????になる。
実現したいこと
日本語のファイル名をそのままにチャットワークへ送信したい。
該当のソースコード
GoogleAppsScript
1 2function sendFile(num, folderId, token, roomId) { 3 let oyaFolder = DriveApp.getFolderById(folderId); 4 let numFolder = searchFolder(oyaFolder, num); 5 let files = numFolder.getFiles(); 6 while (files.hasNext()) { 7 let file = files.next(); 8 let fileId = file.getId(); 9 let setFile = DriveApp.getFileById(fileId); 10 let fileBlob = Utilities.newBlob( 11 setFile.getBlob().getBytes(), 12 setFile.getMimeType(), 13 setFile.getName() 14 ); 15 let options = { 16 headers: { 'X-ChatWorkToken': token, }, 17 method: 'post', 18 payload: { file: fileBlob, } 19 }; 20 const URL = 'https://api.chatwork.com/v2/rooms/' + roomId + '/files'; 21 UrlFetchApp.fetch(URL, options) 22 } 23}
試したこと
fileBlobにsetNameでファイル名を指定してみても同じように????となりました。
UrlFetchApp.fetch(URL, options).setDataFromString( 'utf-8')も試してみましたが、これはファイルの中身の文字コードの指定なのかうまくいきませんでした。
日本語でなければ文字化けせずに送信されます。
どうぞよろしくお願い致します。
あなたの回答
tips
プレビュー