発生したこと
Google Calendar APIを使用して、全日イベントを作成した時
- Android版のカレンダーアプリでのみ、作成したイベントが表示されない
- Androidでも、アイコンがGoogleカラーになる前の、(日めくりカレンダー形式アイコンの)旧版カレンダーアプリでは表示される
- Android以外のプラットフォーム(ブラウザ・iOS版アプリなど)では、問題なく表示される
原因
例えば1日のみの全日イベント場合において、Event.Start.Date
とEvent.End.Date
に同じ日付をセットしていた。
正しくは、Event.Start.Date
には開始日をセットし、Event.End.Date
には、終了日+1をセットする(ようだ…)
公式ドキュメントには、そんなことは書かれていない気がするが…
例:全日イベントが2022年2月1日(のみ)のとき
C#
var createdEvent = service.Events.Insert(new Event
{
Summary = "タイトル",
Start = new EventDateTime() { Date = "2022-02-01") },
End = new EventDateTime() { Date = "2022-02-02") }, // <-- 2022-02-01ではない
Description = "説明",
}, calendarId);
ひとこと
プラットフォームによって、しかもバージョンアップで動きを変えるのはやめて欲しい…