Acl: insert

สร้างกฎควบคุมการเข้าถึง ลองใช้เลยหรือดูตัวอย่าง

ส่งคำขอ

คำขอ HTTP

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

พารามิเตอร์

ชื่อพารามิเตอร์ ค่า คำอธิบาย
พารามิเตอร์เส้นทาง
calendarId string ตัวระบุปฏิทิน หากต้องการเรียกข้อมูลรหัสปฏิทิน ให้เรียกเมธอด calendarList.list หากต้องการเข้าถึงปฏิทินหลักของผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน ให้ใช้คีย์เวิร์ด "primary"
พารามิเตอร์การค้นหาที่ไม่บังคับ
sendNotifications boolean ส่งการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงการแชร์ปฏิทินหรือไม่ ไม่บังคับ ค่าเริ่มต้นคือ True

การให้สิทธิ์

คำขอนี้ต้องได้รับสิทธิ์ด้วยขอบเขตต่อไปนี้

ขอบเขต
https://www.googleapis.com/auth/calendar

โปรดดูข้อมูลเพิ่มเติมที่หน้าการตรวจสอบสิทธิ์และการให้สิทธิ์

เนื้อหาของคำขอ

ในเนื้อหาคำขอ ให้ระบุทรัพยากร Acl พร้อมพร็อพเพอร์ตี้ต่อไปนี้

ชื่อพร็อพเพอร์ตี้ ค่า คำอธิบาย Notes
พร็อพเพอร์ตี้ที่จำเป็น
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

ลองใช้เลย

ใช้ API Explorer ด้านล่างเพื่อเรียกใช้เมธอดนี้กับข้อมูลแบบเรียลไทม์และดูการตอบสนอง