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
https://www.googleapis.com/auth/calendar.acls

لمزيد من المعلومات، يُرجى الاطّلاع على صفحة المصادقة والتفويض.

نص الطلب

في نص الطلب، قدِّم مورد Acl يتضمّن السمات التالية:

اسم السمة القيمة الوصف ملاحظات
السمات المطلوبة
role string الدور الذي تمّ تعيينه للنطاق القيم المحتمَلة هي:
  • "none": لا توفّر إمكانية الوصول.
  • "freeBusyReader": يمنح إذن الوصول للقراءة إلى معلومات مدى التوفّر.
  • "reader": يمنح إذن الوصول للقراءة إلى التقويم. ستظهر الأحداث الخاصة للمستخدمين الذين لديهم إذن وصول "قارئ"، ولكن سيتم إخفاء تفاصيل الحدث.
  • "writer": يمنح إذن الوصول للقراءة والكتابة في التقويم. ستظهر الأحداث الخاصة للمستخدمين الذين لديهم إذن وصول بصفتهم كاتبًا، وستظهر تفاصيل الحدث.
  • "owner": تمنح ملكية التقويم. يمتلك هذا الدور جميع أذونات دور "الكاتب" مع إمكانية إضافية للاطّلاع على جداول أذونات الوصول وتعديلها.
قابلة للكتابة
scope object مدى الوصول إلى التقويم الذي تمنحه قاعدة قائمة أذونات الوصول هذه
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

جرّب الآن

استخدِم "مستكشف واجهات برمجة التطبيقات" أدناه لطلب هذه الطريقة على البيانات المباشرة والاطّلاع على الاستجابة.