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

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

// 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

تجربة

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