Events: insert

ייווצר אירוע. אפשר לנסות עכשיו או לראות דוגמה.

בקשה

בקשת HTTP

POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events

פרמטרים

שם הפרמטר ערך תיאור
פרמטרים של נתיב
calendarId string מזהה היומן. כדי לאחזר מזהי יומנים צריך לקרוא לשיטה calendarList.list. כדי לגשת ליומן הראשי של המשתמש שמחובר כרגע, יש להשתמש במילת המפתח "primary".
פרמטרים אופציונליים של שאילתות
conferenceDataVersion integer מספר הגרסה של נתוני שיחת הוועידה שנתמכים על ידי לקוח ה-API. גרסה 0 מניחה שאין תמיכה בנתוני שיחת הוועידה ומתעלמת מנתוני שיחת הוועידה בגוף האירוע. גרסה 1 מאפשרת תמיכה בהעתקה של ConferenceData וגם ביצירת שיחות ועידה חדשות באמצעות השדה createRequest ב-ConferenceData. ערך ברירת המחדל הוא 0. הערכים הקבילים הם 0 עד 1, כולל.
maxAttendees integer המספר המקסימלי של משתתפים שיש לכלול בתשובה. אם יש יותר ממספר המשתתפים שצוין, רק המשתתף יוחזר. זה שינוי אופציונלי.
sendNotifications boolean הוּצא משימוש. במקום זאת, יש להשתמש ב-sendUpdates.

אם ברצונך לשלוח התראות על יצירת אירוע חדש. חשוב לדעת שיכול להיות שחלק מהודעות האימייל עדיין יישלחו, גם אם הערך שהגדרת הוא false. ערך ברירת המחדל הוא false.
sendUpdates string האם לשלוח התראות על יצירת אירוע חדש. חשוב לזכור שיכול להיות שחלק מהאימיילים עדיין יישלחו. ערך ברירת המחדל הוא false.

הערכים הקבילים הם:
  • 'all': ההתראות נשלחות לכל האורחים.
  • 'externalOnly': התראות נשלחות רק לאורחים שלא משתמשים ביומן Google.
  • 'none': לא נשלחו התראות.
supportsAttachments boolean האם הפעולה שמבצעת על ידי לקוח API תומכת בקבצים מצורפים לאירועים. זה שינוי אופציונלי. ברירת המחדל היא False.

אישור

בקשה זו מחייבת הרשאה עם לפחות אחד מההיקפים הבאים:

היקף
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events

למידע נוסף, עיין בדף אימות והרשאה.

גוף הבקשה

בגוף הבקשה, מציינים משאב אירועים עם המאפיינים הבאים:

שם הנכס ערך תיאור הערות
המאפיינים הנדרשים
end nested object שעת הסיום (הבלעדית) של האירוע. באירוע חוזר, זוהי שעת הסיום של המופע הראשון.
start nested object שעת ההתחלה (כולל) של האירוע. באירוע חוזר, זוהי שעת ההתחלה של המופע הראשון.
מאפיינים אופציונליים
anyoneCanAddSelf boolean האם כל אחד יכול להזמין את עצמו לאירוע (הוצא משימוש). זה שינוי אופציונלי. ברירת המחדל היא False. ניתן לכתיבה
attachments[].fileUrl string קישור לכתובת ה-URL של הקובץ המצורף.

כדי להוסיף קבצים מצורפים מ-Google Drive צריך להשתמש בפורמט זהה לזה שבמאפיין alternateLink של המשאב Files ב-Drive API.

חובה כשמצרפים קובץ.

ניתן לכתיבה
attendees[] list משתתפי האירוע. כדי לקבל מידע נוסף על תזמון אירועים עם משתמשים אחרים ביומן, אפשר לעיין במדריך אירועים עם משתתפים. כדי לאכלס את רשימת המשתתפים, צריך להשתמש בחשבונות שירות בהענקת סמכויות ברמת הדומיין. ניתן לכתיבה
attendees[].additionalGuests integer מספר האורחים הנוספים. זה שינוי אופציונלי. ערך ברירת המחדל הוא 0. ניתן לכתיבה
attendees[].comment string תגובת המשתתף. זה שינוי אופציונלי. ניתן לכתיבה
attendees[].displayName string שם המשתתף, אם קיים. זה שינוי אופציונלי. ניתן לכתיבה
attendees[].email string כתובת האימייל של המשתתף, אם היא זמינה. השדה הזה חייב להיות מוצג כשמוסיפים משתתפים. כתובת האימייל צריכה להיות חוקית בהתאם לתקן RFC5322.

חובה כשמוסיפים משתתפים.

ניתן לכתיבה
attendees[].optional boolean האם מדובר במשתתף אופציונלי. זה שינוי אופציונלי. ברירת המחדל היא False. ניתן לכתיבה
attendees[].resource boolean האם המשתתף הוא משאב. ניתן להגדיר את האפשרות רק כשמשתתף מתווסף לאירוע בפעם הראשונה. המערכת מתעלמת משינויים הבאים. זה שינוי אופציונלי. ברירת המחדל היא False. ניתן לכתיבה
attendees[].responseStatus string סטטוס התגובה של המשתתף. הערכים האפשריים הם:
  • 'needsAction' – המשתתף לא הגיב להזמנה (מומלץ לאירועים חדשים).
  • 'declined' – המשתתף דחה את ההזמנה.
  • 'tentative' – המשתתף אישר את ההזמנה זמנית.
  • 'accepted' – המשתתף אישר את ההזמנה.
ניתן לכתיבה
colorId string צבע האירוע. זהו מזהה שמפנה לרשומה בקטע event בהגדרת הצבעים ( נקודת הקצה של צבעים). זה שינוי אופציונלי. ניתן לכתיבה
conferenceData nested object מידע שקשור לשיחות ועידה, כמו פרטים של שיחת ועידה ב-Google Meet. כדי ליצור פרטים חדשים של שיחת הוועידה, צריך להשתמש בשדה createRequest. כדי לשמור את השינויים, חשוב לזכור להגדיר את פרמטר הבקשה conferenceDataVersion ל-1 בכל הבקשות לשינוי אירועים. ניתן לכתיבה
description string תיאור האירוע. יכול להכיל HTML. זה שינוי אופציונלי. ניתן לכתיבה
end.date date התאריך, בפורמט "yyyy-mm-dd", אם זהו אירוע שנמשך כל היום. ניתן לכתיבה
end.dateTime datetime השעה, כערך משולב של תאריך ושעה (בפורמט בהתאם ל-RFC3339). חובה לציין קיזוז אזור זמן, אלא אם צוין אזור זמן במפורש ב-timeZone. ניתן לכתיבה
end.timeZone string אזור הזמן שבו השעה מצוינת. (בפורמט של שם מסד נתונים של אזור זמן IANA, לדוגמה: "אירופה/ציריך"). עבור אירועים חוזרים, השדה הזה הוא חובה ומציין את אזור הזמן שבו החזרה מורחבת. באירועים בודדים, השדה הזה הוא אופציונלי ומציין אזור זמן מותאם אישית להתחלה/לסיום של האירוע. ניתן לכתיבה
eventType string הסוג הספציפי של האירוע. אי אפשר לשנות את ההגדרה הזו אחרי שהאירוע נוצר. הערכים האפשריים הם:
  • "default" - אירוע רגיל או שלא צוין יותר.
  • 'outOfOffice' – אירוע 'לא בעבודה'.
  • 'focusTime' – אירוע מסוג 'זמן לעצמי'.
  • 'workingLocation' – אירוע של מיקום העבודה.
ניתן לכתיבה
extendedProperties.private object מאפיינים שהם פרטיים לעותק של האירוע שמופיע ביומן הזה. ניתן לכתיבה
extendedProperties.shared object מאפיינים שמשותפים בין עותקים של האירוע ביומנים של משתתפים אחרים. ניתן לכתיבה
focusTimeProperties nested object נתונים של אירועי 'זמן לעצמי'. בשימוש אם הערך של eventType הוא focusTime. ניתן לכתיבה
gadget.display string מצב התצוגה של הגאדג'ט. הוּצא משימוש. הערכים האפשריים הם:
  • 'icon' - הגאדג'ט מוצג לצד שם האירוע בתצוגת היומן.
  • 'chip' - הגאדג'ט מוצג כאשר לוחצים על האירוע.
ניתן לכתיבה
gadget.height integer גובה הגאדג'ט בפיקסלים. הגובה חייב להיות מספר שלם הגדול מ-0. זה שינוי אופציונלי. הוּצא משימוש. ניתן לכתיבה
gadget.preferences object העדפות. ניתן לכתיבה
gadget.title string כותרת הגאדג'ט. הוּצא משימוש. ניתן לכתיבה
gadget.type string סוג הגאדג'ט. הוּצא משימוש. ניתן לכתיבה
gadget.width integer רוחב הגאדג'ט בפיקסלים. הרוחב חייב להיות מספר שלם הגדול מ-0. זה שינוי אופציונלי. הוּצא משימוש. ניתן לכתיבה
guestsCanInviteOthers boolean האם משתתפים אחרים מלבד המארגן יכולים להזמין אנשים אחרים לאירוע. זה שינוי אופציונלי. ברירת המחדל היא True. ניתן לכתיבה
guestsCanModify boolean האם משתתפים אחרים מלבד המארגן יכולים לשנות את האירוע. זה שינוי אופציונלי. ברירת המחדל היא False. ניתן לכתיבה
guestsCanSeeOtherGuests boolean אם משתתפים אחרים מלבד המארגן יכולים לראות מיהם המשתתפים באירוע. זה שינוי אופציונלי. ברירת המחדל היא True. ניתן לכתיבה
id string מזהה אטום של האירוע. כשיוצרים אירועים חדשים או אירועים חוזרים חדשים, אפשר לציין את המזהים שלהם. המזהים שסופקו צריכים לעמוד בכללים הבאים:
  • התווים המותרים במזהה הם אלה שמשתמשים בהם בקידוד base32hex, כלומר אותיות קטנות a-v והספרות 0-9. מידע נוסף זמין בסעיף 3.1.2 ב-RFC2938
  • המזהה צריך להיות באורך של 5 עד 1,024 תווים.
  • המזהה צריך להיות ייחודי לכל יומן
בגלל האופי של המערכת שמופצת באופן גלובלי, אין לנו אפשרות להבטיח שהמערכת תזהה התנגשויות בין מזהים בזמן יצירת האירוע. כדי למזער את הסיכון להתנגשויות, אנחנו ממליצים להשתמש באלגוריתם קיים של UUID, כמו זה שמתואר ב-RFC4122.

אם לא תציינו מזהה, הוא יופק על ידי השרת באופן אוטומטי.

חשוב לשים לב שה-icalUID וה-id אינם זהים, ויש לספק רק אחד מהם בעת יצירת האירוע. הבדל אחד בסמנטיקה שלהם הוא שבאירועים חוזרים, לכל המופעים של אירוע אחד יש אירועי id שונים, בעוד שלכולם יש אותם icalUID.

ניתן לכתיבה
location string המיקום הגיאוגרפי של האירוע כטקסט חופשי. זה שינוי אופציונלי. ניתן לכתיבה
originalStartTime.date date התאריך, בפורמט "yyyy-mm-dd", אם זהו אירוע שנמשך כל היום. ניתן לכתיבה
originalStartTime.dateTime datetime השעה, כערך משולב של תאריך ושעה (בפורמט בהתאם ל-RFC3339). חובה לציין קיזוז אזור זמן, אלא אם צוין אזור זמן במפורש ב-timeZone. ניתן לכתיבה
originalStartTime.timeZone string אזור הזמן שבו השעה מצוינת. (בפורמט של שם מסד נתונים של אזור זמן IANA, לדוגמה: "אירופה/ציריך"). עבור אירועים חוזרים, השדה הזה הוא חובה ומציין את אזור הזמן שבו החזרה מורחבת. באירועים בודדים, השדה הזה הוא אופציונלי ומציין אזור זמן מותאם אישית להתחלה/לסיום של האירוע. ניתן לכתיבה
outOfOfficeProperties nested object נתוני אירועים מסוג 'לא בעבודה'. בשימוש אם הערך של eventType הוא outOfOffice. ניתן לכתיבה
recurrence[] list רשימה של שורות R חדשים, EXBLOCK, RDATE ו-EXDATE לאירוע חוזר, כפי שצוין ב-RFC5545. לתשומת ליבך, לא ניתן להשתמש בשורות DTSTART ו-DTEND בשדה הזה. זמני ההתחלה והסיום של האירועים מצוינים בשדות start ו-end. השדה הזה יושמט לאירועים בודדים או למופעים של אירועים חוזרים. ניתן לכתיבה
reminders.overrides[] list אם לא מוגדרות באירוע תזכורות ברירת המחדל, יופיעו התזכורות הספציפיות לאירוע, או, אם לא מוגדרות תזכורות, לא הוגדרו תזכורות לאירוע הזה. המספר המקסימלי של תזכורות לשינוי הוא 5. ניתן לכתיבה
reminders.overrides[].method string השיטה שבה נעשה שימוש בתזכורת הזו. הערכים האפשריים הם:
  • 'email' - התזכורות נשלחות באימייל.
  • 'popup' – התזכורות נשלחות דרך חלון קופץ של ממשק המשתמש.

חובה כשמוסיפים תזכורת.

ניתן לכתיבה
reminders.overrides[].minutes integer מספר הדקות לפני תחילת האירוע כאשר התזכורת צריכה להיות מופעלת. הערכים החוקיים הם בין 0 ל-40320 (4 שבועות בדקות).

חובה כשמוסיפים תזכורת.

ניתן לכתיבה
reminders.useDefault boolean אם תזכורות ברירת המחדל ביומן חלות על האירוע. ניתן לכתיבה
sequence integer מספר רצף בהתאם ל-icalendar. ניתן לכתיבה
source.title string כותרת המקור. לדוגמה, כותרת של דף אינטרנט או נושא של אימייל. ניתן לכתיבה
source.url string כתובת ה-URL של המקור שמפנה למשאב. סכימת כתובת ה-URL חייבת להיות HTTP או HTTPS. ניתן לכתיבה
start.date date התאריך, בפורמט "yyyy-mm-dd", אם זהו אירוע שנמשך כל היום. ניתן לכתיבה
start.dateTime datetime השעה, כערך משולב של תאריך ושעה (בפורמט בהתאם ל-RFC3339). חובה לציין קיזוז אזור זמן, אלא אם צוין אזור זמן במפורש ב-timeZone. ניתן לכתיבה
start.timeZone string אזור הזמן שבו השעה מצוינת. (בפורמט של שם מסד נתונים של אזור זמן IANA, לדוגמה: "אירופה/ציריך"). עבור אירועים חוזרים, השדה הזה הוא חובה ומציין את אזור הזמן שבו החזרה מורחבת. באירועים בודדים, השדה הזה הוא אופציונלי ומציין אזור זמן מותאם אישית להתחלה/לסיום של האירוע. ניתן לכתיבה
status string סטטוס האירוע. זה שינוי אופציונלי. הערכים האפשריים הם:
  • 'confirmed' – האירוע אושר. זהו סטטוס ברירת המחדל.
  • 'tentative' – האירוע אושר זמנית.
  • 'cancelled' – האירוע בוטל (נמחק). שיטת list מחזירה אירועים שבוטלו רק בסנכרון מצטבר (כאשר צוינו syncToken או updatedMin) או אם הדגל showDeleted מוגדר ל-true. השיטה get תמיד מחזירה אותן.

    סטטוס 'בוטל' מייצג שני מצבים שונים, בהתאם לסוג האירוע:

    1. חריגים שבוטלו של אירוע חוזר שלא בוטל מציינים שאין להציג יותר את המופע הזה למשתמש. לקוחות צריכים לאחסן את האירועים האלה למשך כל משך החיים של האירוע החוזר ההורה.

      חריגות שבוטלו מובטחות רק ערכים בשדות id, recurringEventId ו-originalStartTime. יכול להיות שהשדות האחרים יהיו ריקים.

    2. כל שאר האירועים שבוטלו מייצגים אירועים שנמחקו. על הלקוחות להסיר את העותקים שסונכרנו באופן מקומי. אירועים מבוטלים כאלה ייעלמו בסופו של דבר, לכן לא כדאי להסתמך עליהם שיהיו זמינים לזמן בלתי מוגבל.

      יכול להיות שהשדה id יאוכלס רק באירועים שנמחקו.

    ביומן של המארגן, אירועים שבוטלו ממשיכים לחשוף את פרטי האירוע (סיכום, מיקום וכו') כדי שאפשר יהיה לשחזר אותם (לבטל את המחיקה). באופן דומה, האירועים שאליהם המשתמש הוזמן ושאותו המשתמש הסיר באופן ידני ימשיכו לספק פרטים. עם זאת, בקשות לסנכרון מצטבר שבהן הערך של showDeleted מוגדר כ-False לא יחזירו את הפרטים האלה.

    אם המארגן של אירוע משנה את המארגן שלו (למשל, על ידי פעולת העברה) והמארגן המקורי לא נכלל ברשימת המשתתפים, הוא ישאיר אחרי אירוע מבוטל שבו רק השדה id יאוכלס.

ניתן לכתיבה
summary string שם האירוע. ניתן לכתיבה
transparency string האם האירוע חוסם זמן ביומן. זה שינוי אופציונלי. הערכים האפשריים הם:
  • 'opaque' – ערך ברירת המחדל. האירוע כן חוסם את הזמן ביומן. האפשרות הזו זהה להגדרה של הצג אותי במצב עסוק בממשק המשתמש של יומן Google.
  • 'transparent' – האירוע לא חוסם את הזמן ביומן. ההגדרה הזו מקבילה להגדרת Show me as כ-זמין בממשק המשתמש של יומן Google.
ניתן לכתיבה
visibility string החשיפה של האירוע. זה שינוי אופציונלי. הערכים האפשריים הם:
  • 'default' – משתמשת בברירת המחדל של סטטוס החשיפה של אירועים ביומן. זהו ערך ברירת המחדל.
  • 'public' - האירוע ציבורי ופרטי האירוע גלויים לכל הקוראים של היומן.
  • 'private' – האירוע הוא פרטי ורק משתתפי האירוע יכולים לראות את פרטי האירוע.
  • 'confidential' – האירוע הוא פרטי. הערך הזה צוין מסיבות של תאימות.
ניתן לכתיבה
workingLocationProperties nested object נתוני אירועים של מיקום העבודה. ניתן לכתיבה
workingLocationProperties.customLocation object אם השדה הזה קיים, המשמעות היא שהמשתמש עובד ממיקום מותאם אישית. ניתן לכתיבה
workingLocationProperties.customLocation.label string תווית נוספת (אופציונלי) לקבלת מידע נוסף. ניתן לכתיבה
workingLocationProperties.homeOffice any value אם השדה הזה קיים, המשמעות היא שהמשתמש עובד בבית. ניתן לכתיבה
workingLocationProperties.officeLocation object אם השדה הזה קיים, המשמעות היא שהמשתמש עובד במשרד. ניתן לכתיבה
workingLocationProperties.officeLocation.buildingId string מזהה בניין אופציונלי. צריך לציין מזהה מבנה במסד הנתונים של המשאבים של הארגון. ניתן לכתיבה
workingLocationProperties.officeLocation.deskId string מזהה שולחן עבודה וירטואלי אופציונלי. ניתן לכתיבה
workingLocationProperties.officeLocation.floorId string מזהה קומה אופציונלי. ניתן לכתיבה
workingLocationProperties.officeLocation.floorSectionId string מזהה אופציונלי של קטע הקומה. ניתן לכתיבה
workingLocationProperties.officeLocation.label string שם המשרד שמוצג בלקוחות של יומן Google באינטרנט ובנייד. מומלץ לציין שם של מבנה במסד הנתונים של המשאבים של הארגון. ניתן לכתיבה
workingLocationProperties.type string הסוג של מיקום העבודה. הערכים האפשריים הם:
  • 'homeOffice' – המשתמש עובד בבית.
  • 'officeLocation' – המשתמש עובד במשרד.
  • "customLocation" – המשתמש עובד ממיקום מותאם אישית.
כל הפרטים מצוינים בשדה משנה של השם שצוין, אבל יכול להיות שהשדה הזה יהיה חסר אם הוא ריק. המערכת מתעלמת משאר השדות.

חובה כשמוסיפים מאפיינים של מיקום עבודה.

ניתן לכתיבה

תשובה

אם הפעולה בוצעה בהצלחה, השיטה הזו מחזירה משאב אירועים בגוף התגובה.

דוגמאות

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

Java

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

// Refer to the Java quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/java
// Change the scope to CalendarScopes.CALENDAR and delete any stored
// credentials.

Event event = new Event()
    .setSummary("Google I/O 2015")
    .setLocation("800 Howard St., San Francisco, CA 94103")
    .setDescription("A chance to hear more about Google's developer products.");

DateTime startDateTime = new DateTime("2015-05-28T09:00:00-07:00");
EventDateTime start = new EventDateTime()
    .setDateTime(startDateTime)
    .setTimeZone("America/Los_Angeles");
event.setStart(start);

DateTime endDateTime = new DateTime("2015-05-28T17:00:00-07:00");
EventDateTime end = new EventDateTime()
    .setDateTime(endDateTime)
    .setTimeZone("America/Los_Angeles");
event.setEnd(end);

String[] recurrence = new String[] {"RRULE:FREQ=DAILY;COUNT=2"};
event.setRecurrence(Arrays.asList(recurrence));

EventAttendee[] attendees = new EventAttendee[] {
    new EventAttendee().setEmail("lpage@example.com"),
    new EventAttendee().setEmail("sbrin@example.com"),
};
event.setAttendees(Arrays.asList(attendees));

EventReminder[] reminderOverrides = new EventReminder[] {
    new EventReminder().setMethod("email").setMinutes(24 * 60),
    new EventReminder().setMethod("popup").setMinutes(10),
};
Event.Reminders reminders = new Event.Reminders()
    .setUseDefault(false)
    .setOverrides(Arrays.asList(reminderOverrides));
event.setReminders(reminders);

String calendarId = "primary";
event = service.events().insert(calendarId, event).execute();
System.out.printf("Event created: %s\n", event.getHtmlLink());

Python

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

# Refer to the Python quickstart on how to setup the environment:
# https://developers.google.com/calendar/quickstart/python
# Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
# stored credentials.

event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': 'lpage@example.com'},
    {'email': 'sbrin@example.com'},
  ],
  'reminders': {
    'useDefault': False,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10},
    ],
  },
}

event = service.events().insert(calendarId='primary', body=event).execute()
print 'Event created: %s' % (event.get('htmlLink'))

PHP

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

// Refer to the PHP quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/php
// Change the scope to Google_Service_Calendar::CALENDAR and delete any stored
// credentials.

$event = new Google_Service_Calendar_Event(array(
  'summary' => 'Google I/O 2015',
  'location' => '800 Howard St., San Francisco, CA 94103',
  'description' => 'A chance to hear more about Google\'s developer products.',
  'start' => array(
    'dateTime' => '2015-05-28T09:00:00-07:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'end' => array(
    'dateTime' => '2015-05-28T17:00:00-07:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'recurrence' => array(
    'RRULE:FREQ=DAILY;COUNT=2'
  ),
  'attendees' => array(
    array('email' => 'lpage@example.com'),
    array('email' => 'sbrin@example.com'),
  ),
  'reminders' => array(
    'useDefault' => FALSE,
    'overrides' => array(
      array('method' => 'email', 'minutes' => 24 * 60),
      array('method' => 'popup', 'minutes' => 10),
    ),
  ),
));

$calendarId = 'primary';
$event = $service->events->insert($calendarId, $event);
printf('Event created: %s\n', $event->htmlLink);

Ruby

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

event = Google::Apis::CalendarV3::Event.new(
  summary: 'Google I/O 2015',
  location: '800 Howard St., San Francisco, CA 94103',
  description: 'A chance to hear more about Google\'s developer products.',
  start: Google::Apis::CalendarV3::EventDateTime.new(
    date_time: '2015-05-28T09:00:00-07:00',
    time_zone: 'America/Los_Angeles'
  ),
  end: Google::Apis::CalendarV3::EventDateTime.new(
    date_time: '2015-05-28T17:00:00-07:00',
    time_zone: 'America/Los_Angeles'
  ),
  recurrence: [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  attendees: [
    Google::Apis::CalendarV3::EventAttendee.new(
      email: 'lpage@example.com'
    ),
    Google::Apis::CalendarV3::EventAttendee.new(
      email: 'sbrin@example.com'
    )
  ],
  reminders: Google::Apis::CalendarV3::Event::Reminders.new(
    use_default: false,
    overrides: [
      Google::Apis::CalendarV3::EventReminder.new(
        reminder_method: 'email',
        minutes: 24 * 60
      ),
      Google::Apis::CalendarV3::EventReminder.new(
        reminder_method: 'popup',
        minutes: 10
      )
    ]
  )
)

result = client.insert_event('primary', event)
puts "Event created: #{result.html_link}"

‎.NET

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

// Refer to the .NET quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/dotnet
// Change the scope to CalendarService.Scope.Calendar and delete any stored
// credentials.

Event newEvent = new Event()
{
    Summary = "Google I/O 2015",
    Location = "800 Howard St., San Francisco, CA 94103",
    Description = "A chance to hear more about Google's developer products.",
    Start = new EventDateTime()
    {
        DateTime = DateTime.Parse("2015-05-28T09:00:00-07:00"),
        TimeZone = "America/Los_Angeles",
    },
    End = new EventDateTime()
    {
        DateTime = DateTime.Parse("2015-05-28T17:00:00-07:00"),
        TimeZone = "America/Los_Angeles",
    },
    Recurrence = new String[] { "RRULE:FREQ=DAILY;COUNT=2" },
    Attendees = new EventAttendee[] {
        new EventAttendee() { Email = "lpage@example.com" },
        new EventAttendee() { Email = "sbrin@example.com" },
    },
    Reminders = new Event.RemindersData()
    {
        UseDefault = false,
        Overrides = new EventReminder[] {
            new EventReminder() { Method = "email", Minutes = 24 * 60 },
            new EventReminder() { Method = "sms", Minutes = 10 },
        }
    }
};

String calendarId = "primary";
EventsResource.InsertRequest request = service.Events.Insert(newEvent, calendarId);
Event createdEvent = request.Execute();
Console.WriteLine("Event created: {0}", createdEvent.HtmlLink);

Go

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

// Refer to the Go quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/go
// Change the scope to calendar.CalendarScope and delete any stored credentials.

event := &calendar.Event{
  Summary: "Google I/O 2015",
  Location: "800 Howard St., San Francisco, CA 94103",
  Description: "A chance to hear more about Google's developer products.",
  Start: &calendar.EventDateTime{
    DateTime: "2015-05-28T09:00:00-07:00",
    TimeZone: "America/Los_Angeles",
  },
  End: &calendar.EventDateTime{
    DateTime: "2015-05-28T17:00:00-07:00",
    TimeZone: "America/Los_Angeles",
  },
  Recurrence: []string{"RRULE:FREQ=DAILY;COUNT=2"},
  Attendees: []*calendar.EventAttendee{
    &calendar.EventAttendee{Email:"lpage@example.com"},
    &calendar.EventAttendee{Email:"sbrin@example.com"},
  },
}

calendarId := "primary"
event, err = srv.Events.Insert(calendarId, event).Do()
if err != nil {
  log.Fatalf("Unable to create event. %v\n", err)
}
fmt.Printf("Event created: %s\n", event.HtmlLink)

JavaScript

נעשה שימוש בספריית הלקוח של JavaScript.

// Refer to the JavaScript quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/js
// Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
// stored credentials.

var event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles'
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles'
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': 'lpage@example.com'},
    {'email': 'sbrin@example.com'}
  ],
  'reminders': {
    'useDefault': false,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10}
    ]
  }
};

var request = gapi.client.calendar.events.insert({
  'calendarId': 'primary',
  'resource': event
});

request.execute(function(event) {
  appendPre('Event created: ' + event.htmlLink);
});

Node.js

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

// Refer to the Node.js quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/node
// Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
// stored credentials.

var event = {
  'summary': 'Google I/O 2015',
  'location': '800 Howard St., San Francisco, CA 94103',
  'description': 'A chance to hear more about Google\'s developer products.',
  'start': {
    'dateTime': '2015-05-28T09:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'end': {
    'dateTime': '2015-05-28T17:00:00-07:00',
    'timeZone': 'America/Los_Angeles',
  },
  'recurrence': [
    'RRULE:FREQ=DAILY;COUNT=2'
  ],
  'attendees': [
    {'email': 'lpage@example.com'},
    {'email': 'sbrin@example.com'},
  ],
  'reminders': {
    'useDefault': false,
    'overrides': [
      {'method': 'email', 'minutes': 24 * 60},
      {'method': 'popup', 'minutes': 10},
    ],
  },
};

calendar.events.insert({
  auth: auth,
  calendarId: 'primary',
  resource: event,
}, function(err, event) {
  if (err) {
    console.log('There was an error contacting the Calendar service: ' + err);
    return;
  }
  console.log('Event created: %s', event.htmlLink);
});

רוצה לנסות?

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