ken_nogi/NodeJS/Care7_old/csvUpload.js
Kenichiro NOGI 51a95c5e21 NodeJS
2025-07-10 10:12:37 +09:00

93 lines
2.6 KiB
JavaScript

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();