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

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