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 ב- שלב Data. ערך ברירת המחדל הוא 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

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

גוף הבקשה

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

שם הנכס ערך תיאור הערות
המאפיינים הנדרשים
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 סוג ספציפי של האירוע. אי אפשר לשנות את ההגדרה הזו אחרי שהאירוע נוצר. הערכים האפשריים הם:
  • birthday - אירוע מיוחד שנמשך כל היום, עם חזרה שנתית.
  • default - אירוע רגיל או אירוע שלא צוין בפירוט.
  • focusTime - אירוע מסוג 'זמן לעצמי'.
  • fromGmail - אירוע מ-Gmail. לא ניתן ליצור אירוע מהסוג הזה.
  • outOfOffice - אירוע מסוג 'לא בעבודה'.
  • 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כלל, EXכלל, 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 - האירוע לא חוסם זמן ביומן. הפעולה הזו זהה להגדרה של הצגת המיקום כ- כזמין בממשק המשתמש של יומן 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 - המשתמש עובד ממיקום מותאם אישית.
כל הפרטים צוינו בשדה משנה של השם שצוין, אבל יכול להיות שהשדה הזה יהיה חסר אם הוא ריק. המערכת תתעלם משדות אחרים.

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

ניתן לכתיבה

תשובה

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

דוגמאות

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

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