google 캘린더에 등록 된 일정을 kintone에 등록합니다.

나의 계획이야.



매일 아포 취득을 외부 위탁하고, 그 회사와 google 캘린더를 공유하고 있을 예정이 등록되면 등록 정보를 바탕으로 kintone의 고객 정보 앱에 등록해 버리는 유혼 담담이야. 김에 아바시리에 있는 형님에게도 채팅 워크로 통지해 버리면 오지키도 기뻐할 것 같아요.

※비엔지니어이므로 어드바이스 주시면 다행입니다. 특히 정규 표현식이 깔끔합니다.

우선은 google조로부터 시노기(캘린더 이벤트)를 빼앗은 응이야!



처음에는 캘린더 트리거가 불 불었을 때 현재로부터 1주일 후의 예정을 전부 끌어내고 갱신일이 제일 최신의 몬을 끌어 돌려 버릴 거라고 생각했어. 그래, 아이디어?
그렇지만, 그 겨우 입으로 빡빡한 생각이라면 이벤트가 삭제되었을 때라든가 편집되었을 때도 kintone에 등록되어 있는 것, 와서 피의 기분이 끌렸어. 지금까지인가, , , 라고 생각하고 배고프다.
그 때는, 하나님 씨 추몽은 오루나 생각했어. ↓ 쪽이 얼마나 많은 정보 가져 왔지.
ぇtps : //오오 ぇー아 ps-sc리 pt. 네 t/인 st 루 c 치온 s/? p=645

google조가 고이인 몬 숨겨졌다고는, , , , 왕생 세에이나! ! ! !

※kintone 쪽에서 중복을 금지해 하는 엄청난 것일까라고 생각했습니다만 쓸데없는 리퀘스트 하는 것도 어떨까 생각해 검색하면 상기의 블로그에 따라 왔습니다. 감사합니다.

oujyouseiya.js
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 "削除";
  }
}

kintone 쌍에 딱딱한거야! ! !



시노기도 늘어 전투원의 사기도 최고야! 이대로 갔다니! !
너희들 상관없어 ! ! ! !

senntouinn 「우우오오오오오오오오오오오!!

oujyouseiya.js
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();
    } 
  }
}

오빠 ... 나는 해냈다 ... 샤바로 얽힌다.



냄새 나는 밥을 먹고 싶은 형에게 적어도 생각

oujyouseiya.js
function KusaimeshiKuttoruKyoudaihe() {
  var client = ChatWorkClient.factory({token: 'これも大事なもんじゃ、できりゃあプロパティサービス使ってくれぇよ'});
  client.sendMessage({
    room_id: // 網走に思いを馳せながら独房の番号(ルームID)を彫るんよ, 
    body: 'google組とったりました。まだまだ寒い日が続きますがお体に気をつけて'
  });
}



※google씨 kintone씨 chatwork씨 날마다 신세를 지고 있습니다. 감사합니다.

좋은 웹페이지 즐겨찾기