Google 캘린더 일정을 아이콘으로 등록하는 방법

안녕하세요 @wezardnet입니다. 어리석은 날이 계속 녹을 것 같습니다

2017년 10월경 Google 캘린더 UI가 새로 고쳐졌습니다. 이 기사에서 작성된 방법은 구 Google 캘린더에서만 사용할 수 있습니다. . .
  • New Google Calendar web UI to begin automatically upgrading users on January 8th, 2018

  • 그런데, 당사에서는 워크 스타일 변혁의 일환으로 근무 시간을 조출/지출/정상으로부터 선택할 수 있는 대처를 실시하고 있습니다. 가까운 장래, 플렉스 타임제가 될 예정인 것 같습니다.

    사내 규칙으로서 근무 시간의 신청은 전날까지 실시해야 합니다. 신청하면 Google 캘린더에 '조기', '지출', '일반'이 종일 예정으로 자동 등록되어 다른 직원과 공유되는 운용이 됩니다. ↓ 느낌입니다.



    하루 종일 예정으로 캘린더에 매일 혼란스러워지면, 자신으로서는 그 밖에 예정이 들어있는 경우, 캘린더가 굉장히 보기 어려워지는 것으로, 본심을 말하면 폐가 되고 있습니다ww

    그런 이유로, 그 날의 근무 시간을 알면 좋을 뿐이니까, 아이콘이라든지, 마크로 좋지? 라고 생각한 것입니다. 날씨 예보 캘린더처럼 아이콘으로 예정이 등록되면 보기 쉬워진다고 생각해 시험에 해 보았습니다. ↓이런 느낌이 됩니다.



    덧붙여서 일기 예보 캘린더는 이런 느낌으로 표시됩니다.



    아이콘에 마우스 커서를 맞추면 연설 거품으로 표시되므로 매뉴얼도 필요하지 않습니다.



    이제 등록 방법에 대해 설명합니다.

    Google 캘린더의 브라우저 UI에서 아이콘 일정을 등록할 수 없습니다. 그래서 Google Calendar API을 사용하여 등록합니다. Go 언어로 쓰면 바삭하게 구현할 수 버립니다♪

    코드 예



    코드는 보기 어려워지므로 일부 생략합니다. (예외 처리는 쓰지 않았지만 실제로는 제대로 써주세요 )
    type calendar_m map[string]interface{}
    
    // ペイロードを組み立てる
    values := calendar_m {
        "start": calendar_m {
            "date": "2007-08-07", 
            "timeZone": "Asia/Tokyo", 
        }, 
        "end": calendar_m {
            "date": "2007-08-07", 
            "timeZone": "Asia/Tokyo", 
        }, 
        "summary": "{予定のタイトル}", 
        "gadget": calendar_m {
            "iconLink": "{予定に表示するアイコン画像の URL}", 
            "title": "{アイコンの吹き出しで表示する説明文 など}", 
        },
    }
    payload, _ := json.MarshalIndent(values, "", "    ")
    
    req, _ := http.NewRequest(
        "POST", 
        "https://www.googleapis.com/calendar/v3/calendars/{登録先のカレンダー ID}/events", 
        bytes.NewReader(payload), 
    )
    
    req.Header.Set("Authorization", "Bearer {有効な OAuth2 アクセストークン}")
    req.Header.Set("Content-Type", "application/json; charset=utf-8")
    
    resp, err := this.Client.Do(req)
    if err != nil {
    }
    
    body, _ := ioutil.ReadAll(resp.Body)
    if resp.StatusCode != http.StatusOK {
    }
    
    data, err := simplejson.NewJson(body)
    if err != nil {
    }
    
    // イベント ID を入手する
    id := data.Get("id").MustString()
    

    또한 아이콘 이미지는 인터넷에 공개해야 하므로 Google Cloud Storage(GCS) 등에 두면 좋을 것입니다.

    불행히도



    모바일 앱에서 보면 하루 종일 예정과 동일하게 보입니다



    요약



    이 사례는 폐사의 대처이었습니다만, 시프트 근무가 있는 회사씨나 애자일 개발에서의 아침회 등, 약간의 예정으로 캘린더를 더럽히고 싶지 않을 때에 원래 보기 쉽게 하는데 사용할 수 있을까 생각합니다. . .
    매일의 루틴 워크를, 단지 단지 운용하고 있는 것이 아니라, 귀찮다.

    결론,,,



    이 아이디어가 채용되는지, 되지 않는지는 회사에 달려 있습니다!

    좋은 웹페이지 즐겨찾기