「つべこべ言わずに、動くソースをくれよ」
パート2である。
・指定したアプリに1レコード登録する。
・データは当該アプリで画面入力されている名前と年齢
(自アプリにも、指定先アプリにも名前、年齢のテキストボックスが必要)
・登録できたらレコード番号を、できなかったら-1を返却する
●サンプルコード
/***************************************************************************************************
* function insertRec
* 登録できた場合はレコード番号を返却する。
* 登録できなかった場合は-1を返却する。
***************************************************************************************************/
function insertRec(event, appID) {
// 返却値
var lastRID = -1;
var param =
{
"app": appID,
"record":
{
"名前": { "value": event['record']['名前']['value'] },
"年齢": { "value": event['record']['年齢']['value'] },
}
}
// CSRFトークンの取得
var token = kintone.getRequestToken();
param["__REQUEST_TOKEN__"] = token;
// 同期リクエストを行う
var appUrl = kintone.api.url('/k/v1/record');
var xmlHttp = new XMLHttpRequest();
xmlHttp.open('POST', appUrl, false);
xmlHttp.setRequestHeader('Content-Type', 'application/json');
xmlHttp.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xmlHttp.send(JSON.stringify(param));
if (xmlHttp.status == 200) {
var respdata = JSON.parse(xmlHttp.responseText);
lastRID = respdata["id"];
}
return lastRID;
}
●解説* function insertRec
* 登録できた場合はレコード番号を返却する。
* 登録できなかった場合は-1を返却する。
***************************************************************************************************/
function insertRec(event, appID) {
// 返却値
var lastRID = -1;
var param =
{
"app": appID,
"record":
{
"名前": { "value": event['record']['名前']['value'] },
"年齢": { "value": event['record']['年齢']['value'] },
}
}
// CSRFトークンの取得
var token = kintone.getRequestToken();
param["__REQUEST_TOKEN__"] = token;
// 同期リクエストを行う
var appUrl = kintone.api.url('/k/v1/record');
var xmlHttp = new XMLHttpRequest();
xmlHttp.open('POST', appUrl, false);
xmlHttp.setRequestHeader('Content-Type', 'application/json');
xmlHttp.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xmlHttp.send(JSON.stringify(param));
if (xmlHttp.status == 200) {
var respdata = JSON.parse(xmlHttp.responseText);
lastRID = respdata["id"];
}
return lastRID;
}
・SELECTでやった解説は除外します。
・param
appとrecordで構成されるよ。詳しくは「レコードの登録(POST)」
・xmlHttp.open('POST', appUrl, false);
GETじゃなくてPOSTになる。
・xmlHttp.send(JSON.stringify(param));
今回は取得ではなく登録なので、
nullではなくて、JSON形式のデータを送る。
・var respdata = JSON.parse(xmlHttp.responseText);
登録結果のレスポンス内容を受け取る。
・lastRID = respdata["id"];
レスポンスの中からレコード番号を取得。
・今回は1レコードなので'/k/v1/record'を指定した。
・複数レコードの場合は以下の内容が変わる
→'/k/v1/record'が'/k/v1/records'になる
→paramの"record"が"records"になる
→paramの"records"の右辺(:の右側)が配列になる
0 件のコメント:
コメントを投稿