93 lines
2.6 KiB
JavaScript
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();
|
|
|
|
|
|
|