Acl: insert

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

リクエスト

HTTP リクエスト

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

パラメータ

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

承認

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

範囲
https://www.googleapis.com/auth/calendar

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

リクエスト本文

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

プロパティ名 説明 メモ
必須プロパティ
role string スコープに割り当てられたロール。有効な値は次のとおりです。
  • none」 - アクセスは許可されません。
  • freeBusyReader」 - 空き時間情報への読み取りアクセス権を付与します。
  • reader」 - カレンダーへの読み取り権限を付与します。非公開の予定は閲覧権限を持つユーザーに表示されますが、予定の詳細は非表示になります。
  • writer」 - カレンダーへの読み取りおよび書き込み権限を付与します。非公開イベントは書き込み権限を持つユーザーに表示され、イベントの詳細が表示されます。
  • owner」 - カレンダーの所有権を提供します。このロールにはライター ロールのすべての権限に加え、ACL を表示および操作する権限が含まれています。
書き込み可能
scope object この ACL ルールによってカレンダーへのアクセスが許可される範囲。
scope.type string スコープのタイプ。有効な値は次のとおりです。
  • default」 - パブリック スコープ。これがデフォルト値です。
  • user」 - スコープを 1 人のユーザーに制限します。
  • group」 - スコープをグループに制限します。
  • domain」 - スコープをドメインに制限します。
注: 「default」(一般公開)に付与された権限は、認証の有無にかかわらず、すべてのユーザーに適用されます。
省略可能なプロパティ
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();

// Create access rule with associated scope
AclRule rule = new AclRule();
Scope scope = new Scope();
scope.setType("scopeType").setValue("scopeValue");
rule.setScope(scope).setRole("role");

// Insert new access rule
AclRule createdRule = service.acl().insert('primary', rule).execute();
System.out.println(createdRule.getId());

Python

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

rule = {
    'scope': {
        'type': 'scopeType',
        'value': 'scopeEmail',
    },
    'role': 'role'
}

created_rule = service.acl().insert(calendarId='primary', body=rule).execute()

print created_rule['id']

PHP

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

$rule = new Google_Service_Calendar_AclRule();
$scope = new Google_Service_Calendar_AclRuleScope();

$scope->setType("scopeType");
$scope->setValue("scopeValue");
$rule->setScope($scope);
$rule->setRole("role");

$createdRule = $service->acl->insert('primary', $rule);
echo $createdRule->getId();

Ruby

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

rule = Google::Apis::CalendarV3::AclRule.new(
  scope: {
    type: 'scopeType',
    value: 'scopeEmail',
  },
  role: 'role'
)
result = client.insert_acl('primary', rule)
print result.id

試してみよう:

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