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 בגוף התגובה.

דוגמאות

הערה: דוגמאות הקוד הזמינות לשיטה זו לא מייצגות את כל שפות התכנות הנתמכות (רשימת השפות הנתמכות זמינה בדף של ספריות המשתמשים).

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

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

Python

משתמש בספריית הלקוח של Python.

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

משתמש בספריית הלקוח של 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 שבהמשך כדי להפעיל את השיטה הזו בנתונים בזמן אמת ולראות את התגובה.