何を実現したいのかを書きましょう
APIで以下のように外部連携を行いたいです。
kintoneの項目の値をキーに外部システムからデータを取得し、
kintoneの項目にセットする
発生した問題やエラーメッセージを具体的に書きましょう
セキュリティ対策について教えてください。
・外部連携時に特定のkintoneのドメインからのアクセスを確認できるか※IP帯等通知可能か
・外部連携時のデータの暗号化方法
・kintoneJSと外部システムとの不具合の切り分け方法
実行したコードをコピー&ペーストしましょう
const buttonname = '取得';
const buttonid = 'button'
const CONST_VALUE = 'value';
const lastname = '姓';
const firstname = '名';
const lastname2 = '姓';//お客様指定
const firstname2 = '名';//お客様指定
const url = "○○〇";//お客様指定
const api = "○○〇";//お客様指定
(function () {
'use strict';
//レコード追加編集画面
const events_editcreate = [
'app.record.edit.show',//編集
'app.record.create.show',//追加
];
//----------------------------------------------------------------------------------------------
// ボタン表示
//----------------------------------------------------------------------------------------------
kintone.events.on(events_editcreate, async function (event) {
const button = document.createElement('button');
button.id = 'button';
button.innerHTML = buttonname;
button.style.height = '25px';//ボタンの高さ
button.style.width = '100px';//ボタンの横幅
button.style.color = '#000000'//文字の色
button.style.backgroundColor = '#4169e1'//ボタンの色
kintone.app.record.getSpaceElement(buttonid).appendChild(button);//
//----------------------------------------------------------------------------------------------
// ボタン表示
//----------------------------------------------------------------------------------------------
button.onclick = async function () {
const obj = kintone.app.record.get();
const pointno = obj.record['ポイントカード番号'][CONST_VALUE];
const email = obj.record['メールアドレス'][CONST_VALUE];
const query = 'ポイントカード番号 = "' + pointno + '" and メールアドレス = "' + email + '"';
const querysub = encodeURIComponent(query);
//リクエストヘッダ(API)
const apitoken = { "X-Cybozu-API-Token": api }
try {
const resp = await kintone.proxy(url + querysub, 'GET', apitoken, {});
// success
if (resp[1] == 200) {
const body = JSON.parse(resp[0]);//JSON形式に変更
const records = body["records"];
obj.record[lastname][CONST_VALUE] = records[0][lastname2][CONST_VALUE];
obj.record[firstname][CONST_VALUE] = records[0][firstname2][CONST_VALUE];
kintone.app.record.set(obj);//編集画面時に値をセットする
}
else {
event.error = resp[0];
}
console.log(resp);
} catch (error) {
// error
console.log(error);
}
}
return event;
});
})();