0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Google Calendar API(V3)] Javaでアクセス制御ルール(ACL)を取得する

Posted at

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)と同じです。



おしまい。。
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?