import { XMLHttpRequest } from 'xmlhttprequest' import fs from 'fs'; //プリザンター実行変数 //const pleasanter = 'https://nextoffice.next-hd.co.jp/pleasanter'; const pleasanter = 'https://neo999.next-hd.net/pleasanter'; const apiKey = 'c38903157cbffc30961f50bc29d0991a6cd8af495ab3009b05c5f98e82b2e61b94ba2d5c0a48fc518b1cd74c9e427b01051a228f670f3c5282544dfbec93db87'; const uploadSiteId = "126841"; function main() { let importFile = "C:\\Users\\k.nogi\\###nogiDEV\\##Node.js\\Care7\\outputCsv\\202501.csv"; console.log('■■■■■■■■■■■■■■■■■■■■■■■■■■'); console.log('Start CSV Upload'); importToPleasanter(importFile, "UTF-8", true, uploadSiteId, "Title"); console.log('■■■■■■■■■■■■■■■■■■■■■■■■■■'); } function importToPleasanter(importFile, encoding, updatableImport, siteId, key) { const url = pleasanter + '/api/items/' + siteId + '/import'; const csvData = fs.readFileSync(importFile, 'utf-8'); console.log(url); //console.log(csvData); //送信データ let formData = new FormData(); let json = { "ApiVersion": 1.1, "ApiKey": apiKey, "Encoding": encoding, "UpdatableImport": updatableImport, "Key": key }; formData.append('parameters', JSON.stringify(json)); formData.append('file', new Blob([csvData])); //formData.append('file', csvData); console.log(formData); fetch(url, { "method": 'POST', "body": formData }).then((response) => { if (!response.ok) { throw new Error(`${response.status} ${response.statusText}`); console.log(response); } // レスポンスが JSON 形式で返っていることを想定 return response.json(); }).then((data) => { console.log('** fetch: then(data)'); console.log(data); }).catch((reason) => { // エラー処理 console.log('** fetch: catch'); console.log(reason); }); /* //データ更新リクエスト const xhr = new XMLHttpRequest(); //XMLHttpRequestの作成 //HTTPリクエスト実行 xhr.open('POST', url, false); //非同期通信:true 同期通信:false xhr.onload = () => { //XMLHttpRequestのリクエストステータスの確認 if (xhr.status === 200) { //success console.log(JSON.parse(xhr.responseText)); return true; } else { //error console.log(xhr.responseText); return false; } }; xhr.send(formData); */ } //始動 main();