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" - توفير ملكية التقويم. ويشمل هذا الدور جميع الأذونات الممنوحة لدور الكاتب بالإضافة إلى إمكانية الاطّلاع على قوائم التحكم بالوصول (ACLs) ومعالجتها.
قابل للكتابة
scope object مدى منح الوصول إلى التقويم من خلال قاعدة قائمة التحكم بالوصول (ACL) هذه.
scope.type string نوع النطاق. القيم المتاحة:
  • "default" - النطاق العام: هذه هي القيمة الافتراضية.
  • "user" - يقصر النطاق على مستخدم واحد.
  • "group" - يقصر النطاق على مجموعة.
  • "domain" - يقصر النطاق على نطاق.
ملاحظة: تسري الأذونات الممنوحة للنطاق "default" أو النطاق العلني على أي مستخدم تمت مصادقته أو لا.
الخصائص الاختيارية
scope.value string عنوان البريد الإلكتروني لمستخدم أو مجموعة أو اسم نطاق حسب نوع النطاق تم الحذف للنوع "default". قابل للكتابة

الرد

في حال نجاح هذه الطريقة، سيتم عرض مورد Accl في نص الاستجابة.

أمثلة

ملاحظة: إنّ الأمثلة المرتبطة بالرموز والمتوفرة لهذه الطريقة لا تمثّل كل لغات البرمجة المتوافقة (يُرجى مراجعة صفحة مكتبات البرامج للاطّلاع على قائمة باللغات المتوافقة).

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

جرّب الآن

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