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 يتضمّن السمات التالية:

اسم الموقع القيمة الوصف Notes
الخصائص المطلوبة
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

تجربة

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