Acl: update

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

الطلب

طلب HTTP

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

المعلمات

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

التفويض

يتطلب هذا الطلب تفويضًا بنطاق واحد على الأقل من النطاقات التالية:

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

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

نص الطلب

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

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

جرّب الآن

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