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 " - مالکیت تقویم را فراهم می کند. این نقش دارای تمام مجوزهای نقش نویسنده با توانایی اضافی برای دیدن و دستکاری ACLها است.
قابل نوشتن
scope object میزان دسترسی به تقویم توسط این قانون ACL اعطا می شود.
scope. type string نوع محدوده. مقادیر ممکن عبارتند از:
  • " default " - محدوده عمومی. این مقدار پیش فرض است.
  • " user " - محدوده را به یک کاربر محدود می کند.
  • " group " - محدوده را به یک گروه محدود می کند.
  • " domain " - دامنه را به یک دامنه محدود می کند.
توجه: مجوزهای اعطا شده به دامنه « default » یا عمومی برای هر کاربری، اعم از احراز هویت یا غیر احراز هویت اعمال می‌شود.
ویژگی های اختیاری
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();

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

پایتون

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

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

rule = Google::Apis::CalendarV3::AclRule.new(
  scope: {
    type: 'scopeType',
    value: 'scopeEmail',
  },
  role: 'role'
)
result = client.insert_acl('primary', rule)
print result.id

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

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