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

דוגמאות

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

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

נסה בעצמך!

אפשר להשתמש ב-APIs Explorer שבהמשך כדי להפעיל את השיטה הזו בנתונים בזמן אמת ולראות את התגובה.