Acl: update

يعدِّل قاعدة تحكُّم بالوصول. جرِّب الخدمة الآن أو اطّلِع على مثال.

الطلب

طلب HTTP

PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/acl/ruleId

المعلمات

اسم المعلَمة القيمة الوصف
مَعلمات المسار
calendarId string معرِّف التقويم. لاسترداد معرّفات التقويم، يجب استدعاء الطريقة calendarList.list. إذا أردت الوصول إلى التقويم الأساسي للمستخدم الذي سجّل الدخول حاليًا، استخدِم "primary" .
ruleId string معرِّف قاعدة التحكم في الوصول (ACL).
مَعلمات طلب البحث الاختيارية
sendNotifications boolean تحديد ما إذا كان سيتم إرسال إشعارات حول تغيير مشاركة التقويم أم لا. يُرجى العِلم أنّه لا تتوفّر أي إشعارات بشأن إزالة إذن الوصول. اختياريّ. الإعداد التلقائي هو True.

التفويض

يتطلب هذا الطلب تفويضًا بالنطاق التالي:

النطاق
https://www.googleapis.com/auth/calendar

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

نص الطلب

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

اسم الموقع القيمة الوصف ملاحظات
الخصائص المطلوبة
scope object مدى منح الوصول إلى التقويم من خلال قاعدة قائمة التحكم بالوصول (ACL) هذه.
scope.type string نوع النطاق. القيم المتاحة:
  • "default" - النطاق العام: هذه هي القيمة الافتراضية.
  • "user" - يقصر النطاق على مستخدم واحد.
  • "group" - يقصر النطاق على مجموعة.
  • "domain" - يقصر النطاق على نطاق.
ملاحظة: تسري الأذونات الممنوحة للنطاق "default" أو النطاق العلني على أي مستخدم تمت مصادقته أو لا.
الخصائص الاختيارية
role string الدور المعيَّن للنطاق. القيم المتاحة:
  • "none" - لا تتيح الوصول.
  • "freeBusyReader" - يوفر حق الوصول للقراءة إلى معلومات الحالة متوفّر/مشغول.
  • "reader" - توفر الإذن بقراءة التقويم. وستظهر الأحداث الخاصة للمستخدمين الذين لديهم إذن وصول القرّاء، ولكن سيتم إخفاء تفاصيلها.
  • "writer" - توفر الإذن بالقراءة والكتابة في التقويم. وستظهر الأحداث الخاصة للمستخدمين الذين لديهم إذن وصول المؤلف، وستظهر تفاصيل الحدث.
  • "owner" - توفير ملكية التقويم. ويشمل هذا الدور جميع الأذونات الممنوحة لدور الكاتب بالإضافة إلى إمكانية الاطّلاع على قوائم التحكم بالوصول (ACLs) ومعالجتها.
قابل للكتابة
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();

// Retrieve the access rule from the API
AclRule rule = service.acl().get('primary', "ruleId").execute();

// Make a change
rule.setRole("newRole");

// Update the access rule
AclRule updatedRule = service.acl().update('primary', rule.getId(), rule).execute();
System.out.println(updatedRule.getEtag());

Python

تستخدم مكتبة برامج Python.

rule = service.acl().get(calendarId='primary', ruleId='ruleId').execute()
rule['role'] = 'newRole'

updated_rule = service.acl().update(calendarId='primary', ruleId=rule['id'], body=rule).execute()
print updated_rule['etag']

PHP

لاستخدام مكتبة برامج PHP

$rule = $service->acl->get('primary', 'ruleId');
$rule->setRole('newRole');

$updatedRule = $service->acl->update('primary', $rule->getId(), $rule);
echo $updatedRule->getEtag();

Ruby

تستخدم مكتبة برامج Ruby.

rule = client.get_acl('primary', 'ruleId')
rule.role = 'newRole'
result = client.update_acl('primary', rule.id, rule)
print result.etag

جرّب الآن

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