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 พร้อมพร็อพเพอร์ตี้ต่อไปนี้

ชื่อพร็อพเพอร์ตี้ ค่า คำอธิบาย Notes
พร็อพเพอร์ตี้ที่จำเป็น
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 ด้านล่างเพื่อเรียกใช้เมธอดนี้กับข้อมูลแบบเรียลไทม์และดูการตอบสนอง