何を実現したいのかを書きましょう
kintone.proxy にて、国税局のAPIにアクセスしてデータを取得して利用したい
発生した問題やエラーメッセージを具体的に書きましょう
取得した csvデータ(body)が 文字化けする
実行したコードをコピー&ペーストしましょう
// APIのURLを組み立てる
const apiUrl = https://api.houjin-bangou.nta.go.jp/4/name?id=******&name=${encodedCompanyName}&change=1&type=01
;
const { body, status } = await new Promise((resolve, reject) => {
kintone.proxy(apiUrl, ‘GET’, {}, {}, (body, status, headers) => {
// バイナリデータをUint8Arrayに変換
const uint8Array = new Uint8Array([…body].map(c => c.charCodeAt(0)));
// Shift-JISでデコード
const decoder = new TextDecoder(‘shift-jis’);
const decodedBody = decoder.decode(uint8Array);
resolve({ body: decodedBody, status });
}, (error) => {
reject(error);
});
});
kintone.proxyにて、URLを投げると、bodyに値が帰って来るが、日本語の部分が文字化けをしてしまい、デコードをしても変わらず文字化けのままとなる
返却された body の内容は以下の通りだが、URLをブラウザで叩いてダウンロードされたcsvは、正しく日本語で取得できる。(テキストエディタでみると、shift-jisとなっている)
“2024-07-10,2,1,1\r\n1,9030002001480,01,1,2021-05-18,2015-10-05,"�L����\b�3",302,"���","�������\u000es�k��","���,���Q���4�T�R�\u0002P��",11,102,3310814,2015-10-05,0,"�C��_�C�Q��\",0\r\n2,9030002001480,12,1,2021-05-18,2021-05-10,\"�L����\b�3\",,302,\"���\",\"�������\u000es�k��\",\"�g�ャ�Q���1�W�W�\u0012n�W\",,11,102,3310811,,,,,,,2015-10-05,1,,,,,\"�C�
�_�C�Q��",0\r\n”