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 " - مالکیت تقویم را فراهم می کند. این نقش دارای تمام مجوزهای نقش نویسنده با توانایی اضافی برای دیدن و دستکاری ACLها است.
قابل نوشتن
scope. value string آدرس ایمیل یک کاربر یا گروه یا نام دامنه بسته به نوع دامنه. برای نوع " default " حذف شده است. قابل نوشتن

واکنش

در صورت موفقیت آمیز بودن، این روش یک منبع Acl را در بدنه پاسخ برمی گرداند.

مثال ها

توجه: نمونه‌های کد موجود برای این روش همه زبان‌های برنامه‌نویسی پشتیبانی‌شده را نشان نمی‌دهند (برای فهرست زبان‌های پشتیبانی‌شده به صفحه کتابخانه‌های سرویس گیرنده مراجعه کنید).

جاوا

از کتابخانه سرویس گیرنده جاوا استفاده می کند.

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());

پایتون

از کتابخانه کلاینت پایتون استفاده می کند.

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 استفاده می کند.

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

آن را امتحان کنید!

از APIs Explorer زیر برای فراخوانی این روش در داده‌های زنده و دیدن پاسخ استفاده کنید.