สร้างกฎการควบคุมการเข้าถึง ลองใช้เลยหรือดูตัวอย่าง
ส่งคำขอ
คำขอ HTTP
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/acl
พารามิเตอร์
ชื่อพารามิเตอร์ | ค่า | คำอธิบาย |
---|---|---|
พารามิเตอร์เส้นทาง | ||
calendarId |
string |
ตัวระบุปฏิทิน หากต้องการเรียกข้อมูลรหัสปฏิทิน ให้เรียกใช้เมธอด calendarList.list หากต้องการเข้าถึงปฏิทินหลักของผู้ใช้ที่เข้าสู่ระบบอยู่ในปัจจุบัน ให้ใช้คีย์เวิร์ด "primary "
|
พารามิเตอร์การค้นหาที่ไม่บังคับ | ||
sendNotifications |
boolean |
ตัวเลือกว่าจะส่งการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงการแชร์ปฏิทินหรือไม่ ไม่บังคับ ค่าเริ่มต้นคือ True |
การให้สิทธิ์
คำขอนี้ต้องมีการให้สิทธิ์ด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
ขอบเขต |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.acls |
ดูข้อมูลเพิ่มเติมได้ที่หน้าการตรวจสอบสิทธิ์และการให้สิทธิ์
เนื้อหาของคำขอ
ในเนื้อหาของคำขอ ให้ระบุทรัพยากร Acl ที่มีพร็อพเพอร์ตี้ต่อไปนี้
ชื่อพร็อพเพอร์ตี้ | ค่า | คำอธิบาย | หมายเหตุ |
---|---|---|---|
พร็อพเพอร์ตี้ที่จำเป็น | |||
role |
string |
บทบาทที่กําหนดให้กับขอบเขต ค่าที่เป็นไปได้มีดังนี้
|
เขียนได้ |
scope |
object |
ระดับที่กฎ ACL นี้ให้สิทธิ์การเข้าถึงปฏิทิน | |
scope.type |
string |
ประเภทของขอบเขต ค่าที่เป็นไปได้มีดังนี้
default " หรือสาธารณะจะมีผลกับผู้ใช้ทุกคนไม่ว่าจะมีการตรวจสอบสิทธิ์หรือไม่ก็ตาม |
|
พร็อพเพอร์ตี้ที่ไม่บังคับ | |||
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(); // 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
rule = { 'scope': { 'type': 'scopeType', 'value': 'scopeEmail', }, 'role': 'role' } created_rule = service.acl().insert(calendarId='primary', body=rule).execute() print created_rule['id']
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
rule = Google::Apis::CalendarV3::AclRule.new( scope: { type: 'scopeType', value: 'scopeEmail', }, role: 'role' ) result = client.insert_acl('primary', rule) print result.id
ลองใช้งาน
ใช้โปรแกรมสำรวจ API ด้านล่างเพื่อเรียกใช้เมธอดนี้กับข้อมูลจริงและดูการตอบกลับ