【kintone】Google 양식에서 레코드 편집(업데이트)
13193 단어 googleform금과gas
【kintone】Google 양식에서 레코드 등록
이번은 전회의 계속으로 「편집(갱신)」하고 싶습니다.
마지막 앱과 Google 양식을 사용합니다.
앱 설정 변경
마지막 앱을 사용합니다.
Email 값 중복 금지
updateKey로 하고 싶으므로, 「값의 중복을 금지한다」에 체크를 넣어 주세요.
※Email의 필드의 종류는 링크가 아니고 캐릭터 라인(1행) 필드입니다.
API 토큰 설정 변경
"레코드 편집"을 체크하여 저장합니다.
GAS 다시 쓰기
되고 싶습니다.
코드는 이런 느낌. 비동기 처리하지 않아도 움직였습니다만, 좋은 것일까 이것으로?
자세한 사람이 있으면 알려주세요 m (_ _) m
function sendToKintone(e) {
'use strict';
const subdomain = "サブドメイン";//.cybozu.comの前のサブドメイン名
const apps = {
YOUR_APPLICATION: { appid: アプリID, name: "アプリの名前", token: "APIトークン" }
};
const manager = new KintoneManager.KintoneManager(subdomain, apps);// ライブラリの初期化
//アンケートの回答を取得
const itemResponses = e.response.getItemResponses();
const email = e.response.getRespondentEmail();
let name, attend;
itemResponses.forEach(item=>{
switch (item.getItem().getTitle()) {
case "名前":
name = item.getResponse();
break;
case "参加/不参加":
attend=item.getResponse();
break;
}
});
//入力したemailアドレスが既にレコードにあるか調べる(件数が戻ってくる)
const retSearch = searchRecords(manager,email);
let code, records;
if(retSearch == 0){
console.log("新規");
records =[{
"Email":{ "value":email},
"name":{"value":name},
"attend":{"value":attend}
}];
code= createRecords(manager,records);
}else{
console.log("編集(更新)");
records =[{
"updateKey":{"field":"Email", "value":email},
"record":{
"name":{"value":name},
"attend":{"value":attend}
}
}];
code = editRecords(manager, records);
}
console.log(code);
}
//入力したEmailアドレスがすでにあるかどうか調べている
function searchRecords(manager,email){
const query = 'Email = "' + email + '"'
const response = manager.search("YOUR_APPLICATION", query);
const content = JSON.parse(response.getContentText());
const records = content.records;
return records.length;
}
//新規登録
function createRecords(manager,records){
const response = manager.create("YOUR_APPLICATION", records);//kintone レコードの生成
const code = response.getResponseCode();
return code;
}
//編集(更新)
function editRecords(manager,records){
const response = manager.update("YOUR_APPLICATION", records);//kintone レコードの更新
const code = response.getResponseCode();
return code;
}
설문조사 보내기
이런 느낌으로 신규 등록 및 갱신할 수 있습니다.
요약
신규 등록 & 갱신을 아무것도 생각하지 않고 해 보았습니다만, 이것만이라고 장난스럽게 마음껏이 되어 버리므로, 여러가지 궁리가 필요할까 생각합니다.
그렇기 때문에, 약간의 내륜의 앙케이트와 같이 사용해 보면 좋을지도 모르겠네요^0^
또, 폼을 간단하게 만들 수 있는 제휴 서비스등도 있으므로, 그쪽을 사용해 보는 것도 좋을지도 모릅니다.
Reference
이 문제에 관하여(【kintone】Google 양식에서 레코드 편집(업데이트)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/juri_don/items/3483bf347a42473a04ba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)