Norman's Note 諾曼筆記

Norman's Note 諾曼筆記

Google Calendar API 筆記

目標

想要把日記寫在 Google Calendar 上面,這樣就可以分類我的日記,而且可以很方便的照日期排列,另外 Google 也可以針對不同的 Calendar 做搜尋

Calendar API

JS Quickstart

嘗試官方的 Quickstart 只要把 <CLIENT_ID><API_KEY> 設定好,基本上就可以 run,但剛開始可能會搞不清楚這兩個 keys 的差別

"start": "browser-sync start --server --files \"*\" --port 8000"

註:8000 port 才有在測試的範圍裡面,其他 port 會有問題、或需要再設定

  • 可以拿到的資料:
const event = {
  kind: 'calendar#event',
  etag: '"0358720003195666"',
  id: 'gmd77751dkg7onjv318f7rrilk_20200902T110000Z',
  status: 'confirmed',
  htmlLink: 'https://www.google.com/calendar/event?eid=xxx',
  created: '2020-05-30T02:24:05.000Z',
  updated: '2020-08-19T10:30:17.936Z',
  summary: '三 跑步團 / Cofacts',
  creator: {
    email: 'norman@superman.com',
  },
  organizer: {
    email: 'norman@superman.com',
    self: true,
  },
  start: {
    dateTime: '2020-09-02T19:00:00+08:00',
    timeZone: 'Asia/Taipei',
  },
  end: {
    dateTime: '2020-09-02T21:00:00+08:00',
    timeZone: 'Asia/Taipei',
  },
  recurringEventId: 'gmd77i7751dkonjv318f7rrglk',
  originalStartTime: {
    dateTime: '2020-09-02T19:00:00+08:00',
    timeZone: 'Asia/Taipei',
  },
  iCalUID: 'gmd77rri7751donjv318f7kglk@google.com',
  sequence: 2,
  reminders: {
    useDefault: true,
  },
};

API_KEY & CLIENT_ID

  • API_KEY:你可以使用 Google API 的 Token
  • CLIENT_ID:你是用哪一個 Google 的服務,每個服務不同 CLIENT_ID:你是用哪一個