GoogleカレンダーAPIで削除済みの予定の情報も取得する
21432 ワード
以下のAPIでcalendarIdを指定して予定の一覧を取得することができます。
syncTokenのあるときとないときで削除済みの予定の扱いが異なっていたので整理します。
syncTokenとは、簡単に言うと予定の差分の取得に使う文字列です。
syncTokenなしのとき
デフォルトでは、削除済みの予定は一覧に含まれません。
パラメータにshowDeleted
というものがあるのでこれをtrue
にすると削除済みの予定も一覧に含まれます。
具体的には以下のように、予定オブジェクトの配列が取得できます。
showDeletedがtureの時、削除済みの予定はstatus
がcancelled
として取得されます。
[
// 一つ目の予定
{ updated: '2022-04-03T11: 47: 19.307Z',
eventType: 'default',
transparency: 'transparent',
created: '2022-04-03T11: 47: 19.000Z',
iCalUID: '[email protected]',
organizer: { email: '[email protected]',
displayName: 'testtest',
self: true
},
kind: 'calendar#event',
summary: '予定タイトル',
status: 'confirmed',
htmlLink: 'https: //www.google.com/calendar/event?eid=aaaaaaa',
description: 'desctest',
reminders: { overrides: [
[Object
]
], useDefault: false
},
sequence: 0,
end: { date: '2022-05-22'
},
etag: '"123456789000"',
creator: { email: '[email protected]'
},
id: 'hogehoge',
start: { date: '2022-05-21'
}
},
// 二つ目の予定
{ end: { date: '2022-04-23'
},
sequence: 1,
summary: 'テストイベント削除済み',
creator: { email: '[email protected]'
},
organizer: { self: true,
email: '[email protected]',
displayName: 'testtest'
},
eventType: 'default',
iCalUID: '[email protected]',
status: 'cancelled',
htmlLink: 'https: //www.google.com/calendar/event?eid=bbbbbbbbbb',
start: { date: '2022-04-22'
},
transparency: 'transparent',
id: 'aaaaaaaaaaaaaaa',
kind: 'calendar#event',
reminders: { overrides: [
[Object
]
], useDefault: false
},
created: '2022-04-20T00: 16: 46.000Z',
updated: '2022-04-20T00: 22: 45.733Z',
etag: '"123456789000"'
}
]
syncTokenありのとき
syncTokenありのときは、なしのときと違ってデフォルトで削除した予定も取得されます。
ただし、削除済みのものは予定の詳細情報が取得できません。
[
// 一つ目の予定
{ id: '3abcdefgnvtqttbtka03icb74m',
etag: '"1234567898000"',
status: 'cancelled',
kind: 'calendar#event'
},
// 二つ目の予定
{ reminders: { overrides: [
[Object
]
], useDefault: false
},
updated: '2022-04-20T01: 05: 27.391Z',
iCalUID: '[email protected]',
transparency: 'transparent',
start: { date: '2022-04-23'
},
creator: { email: '[email protected]'
},
eventType: 'default',
created: '2022-04-20T01: 05: 27.000Z',
kind: 'calendar#event',
etag: '"1234562000"',
organizer: { displayName: 'aaaaaaaaaaa',
self: true,
email: '[email protected]'
},
summary: 'テスト追加',
sequence: 0,
htmlLink: 'https: //www.google.com/calendar/event?eid=Naaaaaaaaaa',
status: 'confirmed',
end: { date: '2022-04-24'
},
id: 'hogehogen'
}
]
showDeleted
パラメータをtrue
でリクエストすると削除済みの予定の詳細も取得できるようになります。
[
// 一つ目の予定
{ status: 'cancelled',
start: { date: '2022-04-24'
},
kind: 'calendar#event',
organizer: { email: '[email protected]',
displayName: 'fugafuga',
self: true
},
created: '2022-04-20T01: 09: 56.000Z',
sequence: 1,
htmlLink: 'https: //www.google.com/calendar/event?eid=aaaaaaaaaaaaaa',
etag: '"1111111111111000"',
summary: 'テスト追加2',
eventType: 'default',
end: { date: '2022-04-25'
},
transparency: 'transparent',
id: 'bbbbbbbbbbbbbbbbbbbb',
updated: '2022-04-20T01: 10: 35.552Z',
creator: { email: '[email protected]'
},
reminders: { overrides: [
[Object
]
], useDefault: false
},
iCalUID: '[email protected]'
},
// 二つ目の予定
{ sequence: 0,
organizer: { email: '[email protected]',
displayName: 'fugafuga',
self: true
},
created: '2022-04-20T01: 10: 44.000Z',
creator: { email: '[email protected]'
},
status: 'confirmed',
eventType: 'default',
kind: 'calendar#event',
id: '123456788km',
transparency: 'transparent',
htmlLink: 'https: //www.google.com/calendar/event?eid=bbbbbbbbbbbbbbbbbbb',
end: { date: '2022-04-23'
},
reminders: { overrides: [
[Object
]
], useDefault: false
},
updated: '2022-04-20T01: 10: 44.899Z',
iCalUID: '[email protected]',
summary: 'テスト追加',
etag: '"11111111111111000"',
start: { date: '2022-04-22'
}
}
]
Author And Source
この問題について(GoogleカレンダーAPIで削除済みの予定の情報も取得する), 我々は、より多くの情報をここで見つけました https://zenn.dev/hid3/articles/752c66c77886c7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol