Google Calendar API V3(Java)を使用して、
Googleカレンダーのアクセス制御ルール(ACL)を取得する方法
についてご紹介します。
カレンダーのアクセス制御ルール(ACL)とは
指定したユーザー、またはグループと予定の共有ができます。
UIでは、カレンダーの設定 -> [特定のユーザーまたはグループと共有する]
から設定できる内容です。
APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Calendar API(V3)] JavaでCalendar APIを使う
を参照ください。
No | 目次 | |
---|---|---|
1 | アクセス制御ルール一覧を取得 | |
1 | スコープ | |
2 | 実行 | |
3 | レスポンスの内容 | |
2 | アクセス制御ルールを取得 | |
1 | スコープ | |
2 | 実行 | |
3 | レスポンスの内容 |
1. アクセス制御ルール一覧を取得
Googleカレンダーのアクセス制御ルール一覧を取得します。
1.1. スコープ
このAPIを実行するには、以下のスコープを指定してください。
CalendarScopes.CALENDAR
⧉[Google Calendar API(V3)] JavaでCalendar APIを使う(2.2 Driveインスタンスを取得)
でスコープを指定してください。
1.2. 実行
public static void main(String[] args) throws Exception{
Calendar calendar = getCalendar();
Calendar.Acl acl = calendar.acl();
Calendar.Acl.List list = acl.list("カレンダーID");
Acl res = list.execute();
System.out.println(res);
}
1.2.1. HTTPリクエスト
GET: https://www.googleapis.com/calendar/v3/calendars/{カレンダーID}/acl
が実行されます。
1.2.2. クエリパラメータ
Calendar.Acl.Listのsetメソッドにより、クエリパラメータを追加できます。
メソッド | 引数 | 説明 |
---|---|---|
setMaxResults | Integer | エントリの最大数 デフォルト100、最大250まで |
setShowDeleted | Boolean | 削除されたACLを結果に含めるか |
setPageToken | String | 次のページで前のリスト要求を継続するためのトークン レスポンスのgetNextPageTokenで取得が可能 |
setSyncToken | String | 結果を取得した後に変更された内容を取得するためのトークン レスポンスのgetNextSyncTokenで取得が可能 |
1.3. レスポンスの内容
Acl
メソッド | 戻り値 | 説明 |
---|---|---|
getKind | String | リソースの種類 固定文字列:"calendar#acl" |
getEtag | String | Eタグ |
getItems | List<AclRule> | ACL情報 |
getNextPageToken | String | 次のページのページトークン リストの最後の場合はNULL |
getNextSyncToken | String | この結果が返された後に変更された内容を取得するためのトークン |
AclRule
メソッド | 戻り値 | 説明 |
---|---|---|
getEtag | String | Eタグ |
getId | String | ACLルールID |
getKind | String | リソースの種類 固定文字列:"calendar#aclRule" |
getRole | String | スコープに割り当てられたロール |
getScope | Scope | ACLルールによってカレンダーへのアクセスが許可される範囲 |
Scope
メソッド | 戻り値 | 説明 |
---|---|---|
getType | String | スコープのタイプ |
getValue | String | ユーザーまたはグループのメールアドレス、またはドメインの名前 |
ロール
定義値 | 内容 |
---|---|
none | アクセスは許可されない |
freeBusyReader | 空き時間情報への読み取りアクセス権を付与 UI:[予定の表示(時間枠のみ、詳細は非表示)] |
reader | 読み取り権限を付与 UI:[予定の表示(すべての予定の詳細)] |
writer | 読み取りおよび書き込み権限を付与 UI:[予定の変更] |
owner | 所有権を提供 UI:[変更および共有の管理権限] |
スコープタイプ
定義値 | 内容 |
---|---|
default | パブリック スコープ |
user | 1人のユーザーに制限 |
group | グループに制限 |
domain | ドメインに制限 |
2. アクセス制御ルールを取得
Googleカレンダーの指定したアクセス制御ルールを取得します。
アクセス制御ルールのID(ACLルールID)は、
1. カレンダー一覧を取得(AclRule)のgetId()で取得した値を使います。
2.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
CalendarScopes.CALENDAR
CalendarScopes.CALENDAR_READONLY
⧉[Google Calendar API(V3)] JavaでCalendar APIを使う(2.2 Driveインスタンスを取得)
でスコープを指定してください。
2.2. 実行
public static void main(String[] args) throws Exception{
Calendar calendar = getCalendar();
Calendar.Acl acl = calendar.acl();
Calendar.Acl.Get get = acl.get("カレンダーID","ACLルールID");
AclRule res = get.execute();
System.out.println(res);
}
2.2.1. HTTPリクエスト
GET: https://www.googleapis.com/calendar/v3/calendars/{カレンダーID}/acl/{ACLルールID}
が実行されます。
2.2.2. クエリパラメータ
クエリパラメータはありません。
2.3. レスポンスの内容
AclRule
1.3. レスポンスの内容(AclRule)と同じです。
おしまい。。