Acl: update

アクセス制御ルールを更新します。 今すぐ試すまたは例を見る

リクエスト

HTTP リクエスト

PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/acl/ruleId

パラメータ

パラメータ名 説明
パスパラメータ
calendarId string カレンダーの ID。カレンダー ID を取得するには、calendarList.list メソッドを呼び出します。現在ログインしているユーザーのメイン カレンダーにアクセスするには、「primary」を使用します。できます。
ruleId string ACL ルール ID。
省略可能なクエリ パラメータ
sendNotifications boolean カレンダー共有の変更に関する通知を送信するかどうか。アクセス権の削除に関する通知はありません。省略可。デフォルトは True です。

承認

このリクエストには、次のスコープによる認証が必要です。

スコープ
https://www.googleapis.com/auth/calendar

詳細については、認証と認可のページをご覧ください。

リクエスト本文

リクエストの本文には、次のプロパティを使用して Acl リソースを指定します。

プロパティ名 説明 メモ
必須プロパティ
scope object この ACL ルールによって許可されるカレンダー アクセスの範囲。
scope.type string スコープのタイプ。有効な値は次のとおりです。
  • default」- 公開スコープ。これがデフォルト値です。
  • user」- スコープを 1 人のユーザーに制限します。
  • group」- スコープをグループに制限します。
  • domain」- スコープをドメインに制限します。
注: 「default」(公開)スコープに付与された権限は、認証されているかどうかに関係なく、すべてのユーザーに適用されます。
省略可能なプロパティ
role string スコープに割り当てられたロール。有効な値は次のとおりです。
  • none」- アクセスできません。
  • freeBusyReader」- 空き時間情報への読み取りアクセス権を付与します。
  • reader」- カレンダーの読み取りアクセス権を付与します。限定公開の予定は閲覧者のアクセス権を持つユーザーに表示されますが、予定の詳細は非表示になります。
  • writer」- カレンダーに対する読み取り / 書き込みアクセス権を付与します。非公開イベントは書き込み権限を持つユーザーに表示され、イベントの詳細も表示されます。
  • owner」- カレンダーのオーナーである。このロールには、書き込みロールのすべての権限に加えて、ACL を参照および操作できる追加の権限があります。
書き込み可能
scope.value string スコープのタイプに応じて、ユーザーまたはグループのメールアドレス、またはドメインの名前。タイプ「default」の場合は省略します。 書き込み可能

レスポンス

成功すると、このメソッドはレスポンスの本文で Acl リソースを返します。

注: このメソッドで使用可能なコード例では、サポートされているプログラミング言語すべての例を示しているわけではありません(サポートされている言語の一覧については、クライアント ライブラリ ページをご覧ください)。

Java

Java クライアント ライブラリを使用します。

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.AclRule;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Retrieve the access rule from the API
AclRule rule = service.acl().get('primary', "ruleId").execute();

// Make a change
rule.setRole("newRole");

// Update the access rule
AclRule updatedRule = service.acl().update('primary', rule.getId(), rule).execute();
System.out.println(updatedRule.getEtag());

Python

Python クライアント ライブラリを使用します。

rule = service.acl().get(calendarId='primary', ruleId='ruleId').execute()
rule['role'] = 'newRole'

updated_rule = service.acl().update(calendarId='primary', ruleId=rule['id'], body=rule).execute()
print updated_rule['etag']

PHP

PHP クライアント ライブラリを使用します。

$rule = $service->acl->get('primary', 'ruleId');
$rule->setRole('newRole');

$updatedRule = $service->acl->update('primary', $rule->getId(), $rule);
echo $updatedRule->getEtag();

Ruby

Ruby クライアント ライブラリを使用します。

rule = client.get_acl('primary', 'ruleId')
rule.role = 'newRole'
result = client.update_acl('primary', rule.id, rule)
print result.etag

試してみよう:

以下の API Explorer を使用して、ライブデータに対してこのメソッドを呼び出し、レスポンスを確認してください。