Acl: update

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

ส่งคำขอ

คำขอ HTTP

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

พารามิเตอร์

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

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

คำขอนี้ต้องได้รับการให้สิทธิ์ตามขอบเขตต่อไปนี้

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

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

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

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

ชื่อพร็อพเพอร์ตี้ ค่า คำอธิบาย หมายเหตุ
พร็อพเพอร์ตี้ที่จำเป็น
scope object ขอบเขตที่กฎ ACL นี้ให้สิทธิ์การเข้าถึงปฏิทิน
scope.type string ประเภทของขอบเขต ค่าที่เป็นไปได้คือ
  • "default" - ขอบเขตสาธารณะ นี่คือค่าเริ่มต้น
  • "user" - จำกัดขอบเขตสำหรับผู้ใช้รายเดียว
  • "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 ด้านล่างเพื่อเรียกใช้เมธอดนี้กับข้อมูลแบบสดและดูการตอบกลับ