อัปเดตกฎการควบคุมการเข้าถึง ลองใช้เลยหรือดูตัวอย่าง
ส่งคำขอ
คำขอ HTTP
PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/acl/ruleId
พารามิเตอร์
ชื่อพารามิเตอร์ | ค่า | คำอธิบาย |
---|---|---|
พารามิเตอร์เส้นทาง | ||
calendarId |
string |
ตัวระบุปฏิทิน หากต้องการเรียกข้อมูลรหัสปฏิทิน ให้เรียกใช้เมธอด calendarList.list หากต้องการเข้าถึงปฏิทินหลักของผู้ใช้ที่เข้าสู่ระบบอยู่ในปัจจุบัน ให้ใช้คีย์เวิร์ด "primary "
|
ruleId |
string |
ตัวระบุกฎ ACL |
พารามิเตอร์การค้นหาที่ไม่บังคับ | ||
sendNotifications |
boolean |
ตัวเลือกว่าจะส่งการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงการแชร์ปฏิทินหรือไม่ โปรดทราบว่าไม่มีการแจ้งเตือนเกี่ยวกับการนำสิทธิ์เข้าถึงออก ไม่บังคับ ค่าเริ่มต้นคือ True |
การให้สิทธิ์
คำขอนี้ต้องมีการให้สิทธิ์ด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
ขอบเขต |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.acls |
ดูข้อมูลเพิ่มเติมได้ที่หน้าการตรวจสอบสิทธิ์และการให้สิทธิ์
เนื้อหาของคำขอ
ในเนื้อหาของคำขอ ให้ระบุทรัพยากร Acl ที่มีพร็อพเพอร์ตี้ต่อไปนี้
ชื่อพร็อพเพอร์ตี้ | ค่า | คำอธิบาย | หมายเหตุ |
---|---|---|---|
พร็อพเพอร์ตี้ที่จำเป็น | |||
scope |
object |
ระดับที่กฎ ACL นี้ให้สิทธิ์การเข้าถึงปฏิทิน | |
scope.type |
string |
ประเภทของขอบเขต ค่าที่เป็นไปได้มีดังนี้
default " หรือสาธารณะจะมีผลกับผู้ใช้ทุกคนไม่ว่าจะมีการตรวจสอบสิทธิ์หรือไม่ก็ตาม |
|
พร็อพเพอร์ตี้ที่ไม่บังคับ | |||
role |
string |
บทบาทที่กําหนดให้กับขอบเขต ค่าที่เป็นไปได้มีดังนี้
|
เขียนได้ |
scope.value |
string |
อีเมลของผู้ใช้หรือกลุ่ม หรือชื่อของโดเมน ทั้งนี้ขึ้นอยู่กับประเภทขอบเขต ละเว้นสำหรับประเภท "default " |
เขียนได้ |
คำตอบ
หากดำเนินการสำเร็จ วิธีการนี้จะแสดงผล Acl resource ในเนื้อหาการตอบกลับ
ตัวอย่าง
หมายเหตุ: ตัวอย่างโค้ดที่มีสำหรับวิธีการนี้ไม่ได้แสดงถึงภาษาโปรแกรมที่รองรับทั้งหมด (ดูรายการภาษาที่รองรับได้ในหน้าไลบรารีของไคลเอ็นต์)
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
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
$rule = $service->acl->get('primary', 'ruleId'); $rule->setRole('newRole'); $updatedRule = $service->acl->update('primary', $rule->getId(), $rule); echo $updatedRule->getEtag();
Ruby
rule = client.get_acl('primary', 'ruleId') rule.role = 'newRole' result = client.update_acl('primary', rule.id, rule) print result.etag
ลองใช้งาน
ใช้โปรแกรมสำรวจ API ด้านล่างเพื่อเรียกใช้เมธอดนี้กับข้อมูลจริงและดูการตอบกลับ