google 캘린더에 등록 된 일정을 kintone에 등록합니다.
17146 단어 ChatworkGoogleAppsScript금과
나의 계획이야.
매일 아포 취득을 외부 위탁하고, 그 회사와 google 캘린더를 공유하고 있을 예정이 등록되면 등록 정보를 바탕으로 kintone의 고객 정보 앱에 등록해 버리는 유혼 담담이야. 김에 아바시리에 있는 형님에게도 채팅 워크로 통지해 버리면 오지키도 기뻐할 것 같아요.
※비엔지니어이므로 어드바이스 주시면 다행입니다. 특히 정규 표현식이 깔끔합니다.
우선은 google조로부터 시노기(캘린더 이벤트)를 빼앗은 응이야!
처음에는 캘린더 트리거가 불 불었을 때 현재로부터 1주일 후의 예정을 전부 끌어내고 갱신일이 제일 최신의 몬을 끌어 돌려 버릴 거라고 생각했어. 그래, 아이디어?
그렇지만, 그 겨우 입으로 빡빡한 생각이라면 이벤트가 삭제되었을 때라든가 편집되었을 때도 kintone에 등록되어 있는 것, 와서 피의 기분이 끌렸어. 지금까지인가, , , 라고 생각하고 배고프다.
그 때는, 하나님 씨 추몽은 오루나 생각했어. ↓ 쪽이 얼마나 많은 정보 가져 왔지.
ぇtps : //오오 ぇー아 ps-sc리 pt. 네 t/인 st 루 c 치온 s/? p=645
google조가 고이인 몬 숨겨졌다고는, , , , 왕생 세에이나! ! ! !
※kintone 쪽에서 중복을 금지해 하는 엄청난 것일까라고 생각했습니다만 쓸데없는 리퀘스트 하는 것도 어떨까 생각해 검색하면 상기의 블로그에 따라 왔습니다. 감사합니다.
oujyouseiya.jsfunction getGoogleGumiNoShinogi() {
'use strict' //固い契
var calendarId = "同期させたいカレンダーIDをぶち込めや";
var properties = PropertiesService.getScriptProperties();
var nextSyncToken = properties.getProperty("syncToken");
var optionalArgs = {
syncToken: nextSyncToken
};
var events = Calendar.Events.list(calendarId, optionalArgs);
var nextSyncToken = events["nextSyncToken"];
properties.setProperty("syncToken", nextSyncToken);
var status = events["items"][0]["status"]; //イベントのステータス
// 連絡先やカナはイベントの概要に打ちこまれとるんよ
// イベントが更新された時もステータスがconfirmedじゃけぇここはkintone側で重複禁止にして2重登録がされんように裏で手ぇ回したんじゃ
if (status == "confirmed") {
var regPostalcode = /[0-9]{3}-[0-9]{4}/g;
var regAddress = /..市.*?\n/g;
var regKana = /カナ:.*?\n/g;
var regVisitDate = /[0-9]{4}-[0-9]{2}-[0-9]{2}/g
var senntouinn = '[';
var str = events["items"][0]["description"];
senntouinn += Utilities.formatString('{"関係": { "value": "%s" }', "クライアント");
senntouinn += Utilities.formatString(',"事業者名": { "value": "%s" }', events["items"][0]["summary"]);
senntouinn += Utilities.formatString(',"郵便番号": {"value": "%s" }', events["items"][0]["location"].match(regPostalcode));
senntouinn += Utilities.formatString(',"所在地": {"value": "%s" }', str.match(regAddress));
var strKana = str.match(regKana);
var strKana = strKana[0].replace('カナ:', '');
senntouinn += Utilities.formatString(',"カナ": {"value": "%s" }', strKana);
var visitDate = events["items"][0]["start"]["dateTime"].match(regVisitDate);
senntouinn += Utilities.formatString(',"訪問予定日": {"value": "%s" }', visitDate);
senntouinn += '}]';
Logger.log(kintoneRecord);
return senntouinn;
} else {
return "削除";
}
}
kintone 쌍에 딱딱한거야! ! !
시노기도 늘어 전투원의 사기도 최고야! 이대로 갔다니! !
너희들 상관없어 ! ! ! !
senntouinn 「우우오오오오오오오오오오오!!
oujyouseiya.jsfunction tamahaMadaNokottoruGayou() {
'use strict'; //譲ることのできない仁義
var subdomain = "kintoneのサブドメインをここに沈めちゃれ";
var apps = {
YOUR_APPLICATION1: { appid: "アプリのIDは数字じゃ、文字列じゃないんで", name: "アプリの名前をチンコロせぇ", token: "大事なもんじゃ、プロパティサービス使ったほうがほんまはええらしいで" }
};
var manager = new KintoneManager.KintoneManager(subdomain, apps);
var str = getGoogleGumiNoShinogi();
if (str != "削除") {
str = str.replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t");
var records = JSON.parse(str);
var response = manager.create("YOUR_APPLICATION1", records);
// 成功すればオジキが満足してステータスコードが200になるんよ
var code = response.getResponseCode();
Logger.log('Response code is "%s"', code);
if (code == 200) {
KusaimeshiKuttoruKyoudaihe();
}
}
}
오빠 ... 나는 해냈다 ... 샤바로 얽힌다.
냄새 나는 밥을 먹고 싶은 형에게 적어도 생각
oujyouseiya.jsfunction KusaimeshiKuttoruKyoudaihe() {
var client = ChatWorkClient.factory({token: 'これも大事なもんじゃ、できりゃあプロパティサービス使ってくれぇよ'});
client.sendMessage({
room_id: // 網走に思いを馳せながら独房の番号(ルームID)を彫るんよ,
body: 'google組とったりました。まだまだ寒い日が続きますがお体に気をつけて'
});
}
※google씨 kintone씨 chatwork씨 날마다 신세를 지고 있습니다. 감사합니다.
Reference
이 문제에 관하여(google 캘린더에 등록 된 일정을 kintone에 등록합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/goriland/items/676a6471c77ee8aba0ce
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
function getGoogleGumiNoShinogi() {
'use strict' //固い契
var calendarId = "同期させたいカレンダーIDをぶち込めや";
var properties = PropertiesService.getScriptProperties();
var nextSyncToken = properties.getProperty("syncToken");
var optionalArgs = {
syncToken: nextSyncToken
};
var events = Calendar.Events.list(calendarId, optionalArgs);
var nextSyncToken = events["nextSyncToken"];
properties.setProperty("syncToken", nextSyncToken);
var status = events["items"][0]["status"]; //イベントのステータス
// 連絡先やカナはイベントの概要に打ちこまれとるんよ
// イベントが更新された時もステータスがconfirmedじゃけぇここはkintone側で重複禁止にして2重登録がされんように裏で手ぇ回したんじゃ
if (status == "confirmed") {
var regPostalcode = /[0-9]{3}-[0-9]{4}/g;
var regAddress = /..市.*?\n/g;
var regKana = /カナ:.*?\n/g;
var regVisitDate = /[0-9]{4}-[0-9]{2}-[0-9]{2}/g
var senntouinn = '[';
var str = events["items"][0]["description"];
senntouinn += Utilities.formatString('{"関係": { "value": "%s" }', "クライアント");
senntouinn += Utilities.formatString(',"事業者名": { "value": "%s" }', events["items"][0]["summary"]);
senntouinn += Utilities.formatString(',"郵便番号": {"value": "%s" }', events["items"][0]["location"].match(regPostalcode));
senntouinn += Utilities.formatString(',"所在地": {"value": "%s" }', str.match(regAddress));
var strKana = str.match(regKana);
var strKana = strKana[0].replace('カナ:', '');
senntouinn += Utilities.formatString(',"カナ": {"value": "%s" }', strKana);
var visitDate = events["items"][0]["start"]["dateTime"].match(regVisitDate);
senntouinn += Utilities.formatString(',"訪問予定日": {"value": "%s" }', visitDate);
senntouinn += '}]';
Logger.log(kintoneRecord);
return senntouinn;
} else {
return "削除";
}
}
function tamahaMadaNokottoruGayou() {
'use strict'; //譲ることのできない仁義
var subdomain = "kintoneのサブドメインをここに沈めちゃれ";
var apps = {
YOUR_APPLICATION1: { appid: "アプリのIDは数字じゃ、文字列じゃないんで", name: "アプリの名前をチンコロせぇ", token: "大事なもんじゃ、プロパティサービス使ったほうがほんまはええらしいで" }
};
var manager = new KintoneManager.KintoneManager(subdomain, apps);
var str = getGoogleGumiNoShinogi();
if (str != "削除") {
str = str.replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t");
var records = JSON.parse(str);
var response = manager.create("YOUR_APPLICATION1", records);
// 成功すればオジキが満足してステータスコードが200になるんよ
var code = response.getResponseCode();
Logger.log('Response code is "%s"', code);
if (code == 200) {
KusaimeshiKuttoruKyoudaihe();
}
}
}
function KusaimeshiKuttoruKyoudaihe() {
var client = ChatWorkClient.factory({token: 'これも大事なもんじゃ、できりゃあプロパティサービス使ってくれぇよ'});
client.sendMessage({
room_id: // 網走に思いを馳せながら独房の番号(ルームID)を彫るんよ,
body: 'google組とったりました。まだまだ寒い日が続きますがお体に気をつけて'
});
}
Reference
이 문제에 관하여(google 캘린더에 등록 된 일정을 kintone에 등록합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/goriland/items/676a6471c77ee8aba0ce텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)