dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

[Google Calendar API]guestsCanModify, guestsCanInviteOthers, guestsCanSeeOtherGuestsの仕様

Google カレンダーで予定を作成するときにはじっこに表示される「ゲストの権限」。
各項目と Google Calendar API の Events のプロパティとの対応が気になったのでメモ。

f:id:dackdive:20150727192030p:plain

TL;DR

UI 上の各項目とプロパティの対応は以下の通り。
すべて guestsCan... から始まるプロパティと対応している。

ゲストの権限 対応するプロパティ デフォルト
予定を変更する guestsCanModify FALSE
他のユーザーを招待する guestsCanInviteOthers TRUE
ゲストの一覧を表示する guestsCanSeeOtherGuests TRUE

また、各プロパティは デフォルト値でない場合のみ出力される ということに注意する。

調査内容

Google カレンダーから「ゲストの権限」プロパティを様々なパターンで設定した予定を登録した後、
Google Calendar API Reference の APIs Explorer で対象の予定を取得し、プロパティを確認する。

f:id:dackdive:20150728222853p:plain

こういうちょっと API 叩いてみたいときに APIs Explorer は便利ですね。

キャプチャは get APIExplorer なので eventId が必要ですが、list の方だと予定をまとめて取得できるのでそっちを使ってもいいかと。
(その場合は updatedMin とかで絞り込まないと登録されてる予定が大量に取得されちゃいます)

結果はこちら。

パラメータ 結果
予定を
変更する
他のユーザーを
招待する
ゲストの一覧を
表示する
guestsCan Modify guestsCan InviteOthers guestsCan SeeOtherGuests
1 TRUE - -
2 - - -
3 - - FALSE
4 - FALSE -
5 - FALSE FALSE

- はパラメータが出力されないことを示している。

補足など

その1

「ゲストの権限」のうち、「予定を変更する」にチェックを入れると他の2つもチェックが必須になる。

f:id:dackdive:20150728223205p:plain

API で、たとえば guestsCanModify=true, guestsCanInviteOthers=false で insert したときにエラーになるのかどうかまでは未確認。

その2

「ゲストの一覧を表示する」のチェックを外した時だけメッセージが出るけど未確認。

f:id:dackdive:20150727192052p:plain

「ヘルプ」のリンク先はここ
カレンダーの予定にゲストを招待する - パソコン - カレンダー ヘルプ