Acl: insert

建立存取權控管規則。 立即試用查看範例

要求

HTTP 要求

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

參數

參數名稱 說明
路徑參數
calendarId string 日曆 ID。如要擷取日曆 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」:將範圍限制為單一使用者。
  • 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

試試看!

您可以使用下方的 APIs Explorer,針對即時資料呼叫這個方法,然後查看回應。