یک رویداد ایجاد می کند. اکنون آن را امتحان کنید یا نمونه ای را ببینید .
درخواست کنید
درخواست HTTP
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events
پارامترها
نام پارامتر | ارزش | توضیحات |
---|---|---|
پارامترهای مسیر | ||
calendarId | string | شناسه تقویم برای بازیابی شناسه های تقویم با روش calendarList.list تماس بگیرید. اگر میخواهید به تقویم اصلی کاربر وارد شده در حال حاضر دسترسی داشته باشید، از کلمه کلیدی " primary " استفاده کنید. |
پارامترهای پرس و جو اختیاری | ||
conferenceDataVersion | integer | شماره نسخه داده های کنفرانس که توسط سرویس گیرنده API پشتیبانی می شود. نسخه 0 هیچ پشتیبانی از داده های کنفرانس را فرض نمی کند و داده های کنفرانس را در بدنه رویداد نادیده می گیرد. نسخه 1 پشتیبانی از کپی ConferenceData و همچنین برای ایجاد کنفرانس های جدید با استفاده از فیلد createRequest کنفرانس دیتا را امکان پذیر می کند. مقدار پیشفرض 0 است. مقادیر قابل قبول 0 تا 1 هستند. |
maxAttendees | integer | حداکثر تعداد شرکت کنندگانی که باید در پاسخ درج شود. در صورتی که تعداد شرکت کنندگان بیشتر از تعداد مشخص شده باشد، فقط شرکت کننده برگردانده می شود. اختیاری. |
sendNotifications | boolean | منسوخ شده است. لطفاً به جای آن از sendUpdates استفاده کنید. ارسال اعلانهایی درباره ایجاد رویداد جدید. توجه داشته باشید که برخی از ایمیلها ممکن است همچنان ارسال شوند حتی اگر مقدار را روی false تنظیم کنید. پیش فرض false است. |
sendUpdates | string | ارسال اعلانهایی درباره ایجاد رویداد جدید. توجه داشته باشید که برخی از ایمیلها ممکن است همچنان ارسال شوند. پیش فرض false است.مقادیر قابل قبول عبارتند از:
|
supportsAttachments | boolean | اینکه آیا سرویس گیرنده API در حال انجام عملیات از پیوست های رویداد پشتیبانی می کند یا خیر. اختیاری. پیش فرض نادرست است. |
مجوز
این درخواست نیاز به مجوز با حداقل یکی از حوزه های زیر دارد:
دامنه |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
برای اطلاعات بیشتر، به صفحه احراز هویت و مجوز مراجعه کنید.
درخواست بدن
در بدنه درخواست، یک منبع رویدادها با ویژگی های زیر ارائه کنید:
نام ملک | ارزش | توضیحات | یادداشت ها |
---|---|---|---|
خواص مورد نیاز | |||
end | nested object | زمان پایان (انحصاری) رویداد. برای یک رویداد تکراری، این زمان پایان اولین نمونه است. | |
start | nested object | زمان (شامل) شروع رویداد. برای یک رویداد تکراری، این زمان شروع اولین نمونه است. | |
ویژگی های اختیاری | |||
anyoneCanAddSelf | boolean | اینکه آیا هر کسی می تواند خود را به رویداد دعوت کند یا نه (منسوخ شده است). اختیاری. پیش فرض نادرست است. | قابل نوشتن |
attachments[]. fileUrl | string | لینک URL به پیوست. برای افزودن پیوستهای فایل Google Drive از همان قالبی که در ویژگی هنگام افزودن پیوست ضروری است. | قابل نوشتن |
attendees[] | list | شرکت کنندگان در این رویداد. برای اطلاعات بیشتر در مورد زمانبندی رویدادها با سایر کاربران تقویم، راهنمای رویدادها با شرکتکنندگان را ببینید. حسابهای سرویس باید از تفویض اختیار در دامنه دامنه برای پر کردن فهرست شرکتکنندگان استفاده کنند. | قابل نوشتن |
attendees[]. additionalGuests | integer | تعداد مهمانان اضافی اختیاری. پیش فرض 0 است. | قابل نوشتن |
attendees[]. comment | string | نظر پاسخ حاضرین. اختیاری. | قابل نوشتن |
attendees[]. displayName | string | نام شرکت کننده، در صورت وجود. اختیاری. | قابل نوشتن |
attendees[]. email | string | آدرس ایمیل شرکت کننده در صورت وجود. این فیلد باید هنگام اضافه کردن یک شرکت کننده وجود داشته باشد. این باید یک آدرس ایمیل معتبر مطابق با RFC5322 باشد. هنگام اضافه کردن یک شرکت کننده الزامی است. | قابل نوشتن |
attendees[]. optional | boolean | آیا این یک شرکت کننده اختیاری است. اختیاری. پیش فرض نادرست است. | قابل نوشتن |
attendees[]. resource | boolean | آیا شرکت کننده یک منبع است. فقط زمانی تنظیم می شود که شرکت کننده برای اولین بار به رویداد اضافه شود. اصلاحات بعدی نادیده گرفته می شود. اختیاری. پیش فرض نادرست است. | قابل نوشتن |
attendees[]. responseStatus | string | وضعیت پاسخ شرکت کنندگان مقادیر ممکن عبارتند از:
| قابل نوشتن |
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 | نوع خاص رویداد پس از ایجاد رویداد نمی توان آن را تغییر داد. مقادیر ممکن عبارتند از:
| قابل نوشتن |
extendedProperties. private | object | ویژگی هایی که برای کپی رویدادی که در این تقویم ظاهر می شود خصوصی هستند. | قابل نوشتن |
extendedProperties. shared | object | ویژگی هایی که بین نسخه هایی از رویداد در تقویم سایر شرکت کنندگان به اشتراک گذاشته می شود. | قابل نوشتن |
focusTimeProperties | nested object | دادههای رویداد Focus Time. اگر eventType focusTime باشد استفاده می شود. | قابل نوشتن |
gadget. display | string | حالت نمایش گجت. منسوخ شده است. مقادیر ممکن عبارتند از:
| قابل نوشتن |
gadget. height | integer | ارتفاع این ابزار به پیکسل. ارتفاع باید یک عدد صحیح بزرگتر از 0 باشد. اختیاری است. منسوخ شده است. | قابل نوشتن |
gadget. iconLink | string | نشانی وب نماد ابزار. طرح URL باید HTTPS باشد. منسوخ شده است. | قابل نوشتن |
gadget. link | string | نشانی اینترنتی ابزارک. طرح URL باید HTTPS باشد. منسوخ شده است. | قابل نوشتن |
gadget. preferences | object | ترجیحات | قابل نوشتن |
gadget. title | string | عنوان ابزار. منسوخ شده است. | قابل نوشتن |
gadget. type | string | نوع گجت منسوخ شده است. | قابل نوشتن |
gadget. width | integer | عرض ابزار به پیکسل. عرض باید یک عدد صحیح بزرگتر از 0 باشد. اختیاری است. منسوخ شده است. | قابل نوشتن |
guestsCanInviteOthers | boolean | آیا شرکتکنندگانی غیر از سازماندهنده میتوانند دیگران را به رویداد دعوت کنند. اختیاری. پیش فرض True است. | قابل نوشتن |
guestsCanModify | boolean | آیا شرکتکنندگانی غیر از سازماندهنده میتوانند رویداد را تغییر دهند یا خیر. اختیاری. پیش فرض نادرست است. | قابل نوشتن |
guestsCanSeeOtherGuests | boolean | آیا شرکتکنندگانی غیر از سازماندهنده میتوانند ببینند شرکتکنندگان رویداد چه کسانی هستند یا خیر. اختیاری. پیش فرض True است. | قابل نوشتن |
id | string | شناسه غیر شفاف رویداد. هنگام ایجاد رویدادهای جدید یا تکرار شونده، می توانید شناسه آنها را مشخص کنید. شناسه های ارائه شده باید از این قوانین پیروی کنند:
اگر شناسه ای را مشخص نکنید، به طور خودکار توسط سرور ایجاد می شود. توجه داشته باشید که | قابل نوشتن |
location | string | موقعیت جغرافیایی رویداد به عنوان متن آزاد. اختیاری. | قابل نوشتن |
originalStartTime. date | date | اگر این یک رویداد تمام روز باشد، تاریخ، با فرمت "yyyy-mm-dd". | قابل نوشتن |
originalStartTime. dateTime | datetime | زمان، به عنوان یک مقدار ترکیبی تاریخ-زمان (بر اساس RFC3339 قالببندی شده است). یک افست منطقه زمانی مورد نیاز است مگر اینکه یک منطقه زمانی به صراحت در timeZone مشخص شده باشد. | قابل نوشتن |
originalStartTime. timeZone | string | منطقه زمانی که زمان در آن مشخص شده است. (قالب بندی شده به عنوان نام پایگاه داده منطقه زمانی IANA، به عنوان مثال "اروپا/زوریخ".) برای رویدادهای تکرار شونده، این فیلد مورد نیاز است و منطقه زمانی را که در آن تکرار گسترش می یابد، مشخص می کند. برای رویدادهای تک این فیلد اختیاری است و یک منطقه زمانی سفارشی را برای شروع/پایان رویداد نشان میدهد. | قابل نوشتن |
outOfOfficeProperties | nested object | داده های رویداد خارج از دفتر. اگر eventType outOfOffice باشد استفاده می شود. | قابل نوشتن |
recurrence[] | list | فهرست خطوط RRULE، EXRULE، RDATE و EXDATE برای یک رویداد تکرارشونده، همانطور که در RFC5545 مشخص شده است. توجه داشته باشید که خطوط DTSTART و DTEND در این قسمت مجاز نیستند. زمان شروع و پایان رویداد در قسمت های start و end مشخص شده است. این فیلد برای رویدادهای منفرد یا مواردی از رویدادهای تکرار شونده حذف شده است. | قابل نوشتن |
reminders. overrides[] | list | اگر رویداد از یادآورهای پیشفرض استفاده نمیکند، یادآوریهای خاص رویداد را فهرست میکند، یا اگر تنظیم نشده باشد، نشان میدهد که هیچ یادآوری برای این رویداد تنظیم نشده است. حداکثر تعداد یادآورهای لغو 5 عدد است. | قابل نوشتن |
reminders.overrides[]. method | string | روش استفاده شده توسط این یادآوری. مقادیر ممکن عبارتند از:
هنگام افزودن یادآوری لازم است. | قابل نوشتن |
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 | وضعیت رویداد. اختیاری. مقادیر ممکن عبارتند از:
| قابل نوشتن |
summary | string | عنوان رویداد. | قابل نوشتن |
transparency | string | آیا رویداد زمان را در تقویم مسدود می کند یا خیر. اختیاری. مقادیر ممکن عبارتند از:
| قابل نوشتن |
visibility | string | قابل مشاهده بودن رویداد اختیاری. مقادیر ممکن عبارتند از:
| قابل نوشتن |
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 | نام دفتری که در Calendar Web and Mobile Clients نمایش داده می شود. توصیه می کنیم نام ساختمان را در پایگاه داده منابع سازمان ذکر کنید. | قابل نوشتن |
workingLocationProperties. type | string | نوع محل کار مقادیر ممکن عبارتند از:
هنگام افزودن ویژگی های محل کار مورد نیاز است. | قابل نوشتن |
پاسخ
در صورت موفقیت آمیز بودن، این روش یک منبع رویدادها را در بدنه پاسخ باز می گرداند.
نمونه ها
توجه: نمونههای کد موجود برای این روش همه زبانهای برنامهنویسی پشتیبانیشده را نشان نمیدهند (برای فهرست زبانهای پشتیبانیشده به صفحه کتابخانههای سرویس گیرنده مراجعه کنید).
جاوا
از کتابخانه سرویس گیرنده جاوا استفاده می کند.
// 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());
پایتون
از کتابخانه کلاینت پایتون استفاده می کند.
# 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 استفاده می کند.
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}"
دات نت
از کتابخانه کلاینت دات نت استفاده می کند.
// 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 استفاده می کند.
// 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)
جاوا اسکریپت
از کتابخانه سرویس گیرنده جاوا اسکریپت استفاده می کند.
// 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 زیر برای فراخوانی این روش در دادههای زنده و دیدن پاسخ استفاده کنید.
یک رویداد ایجاد می کند. اکنون آن را امتحان کنید یا نمونه ای را ببینید .
درخواست کنید
درخواست HTTP
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events
پارامترها
نام پارامتر | ارزش | توضیحات |
---|---|---|
پارامترهای مسیر | ||
calendarId | string | شناسه تقویم برای بازیابی شناسه های تقویم با روش calendarList.list تماس بگیرید. اگر میخواهید به تقویم اصلی کاربر وارد شده در حال حاضر دسترسی داشته باشید، از کلمه کلیدی " primary " استفاده کنید. |
پارامترهای پرس و جو اختیاری | ||
conferenceDataVersion | integer | شماره نسخه داده های کنفرانس که توسط سرویس گیرنده API پشتیبانی می شود. نسخه 0 هیچ پشتیبانی از داده های کنفرانس را فرض نمی کند و داده های کنفرانس را در بدنه رویداد نادیده می گیرد. نسخه 1 پشتیبانی از کپی ConferenceData و همچنین برای ایجاد کنفرانس های جدید با استفاده از فیلد createRequest کنفرانس دیتا را امکان پذیر می کند. مقدار پیشفرض 0 است. مقادیر قابل قبول 0 تا 1 هستند. |
maxAttendees | integer | حداکثر تعداد شرکت کنندگانی که باید در پاسخ درج شود. در صورتی که تعداد شرکت کنندگان بیشتر از تعداد مشخص شده باشد، فقط شرکت کننده برگردانده می شود. اختیاری. |
sendNotifications | boolean | منسوخ شده است. لطفاً به جای آن از sendUpdates استفاده کنید. ارسال اعلانهایی درباره ایجاد رویداد جدید. توجه داشته باشید که برخی از ایمیلها ممکن است همچنان ارسال شوند حتی اگر مقدار را روی false تنظیم کنید. پیش فرض false است. |
sendUpdates | string | ارسال اعلانهایی درباره ایجاد رویداد جدید. توجه داشته باشید که برخی از ایمیلها ممکن است همچنان ارسال شوند. پیش فرض false است.مقادیر قابل قبول عبارتند از:
|
supportsAttachments | boolean | اینکه آیا سرویس گیرنده API در حال انجام عملیات از پیوست های رویداد پشتیبانی می کند یا خیر. اختیاری. پیش فرض نادرست است. |
مجوز
این درخواست نیاز به مجوز با حداقل یکی از حوزه های زیر دارد:
دامنه |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
برای اطلاعات بیشتر، به صفحه احراز هویت و مجوز مراجعه کنید.
درخواست بدن
در بدنه درخواست، یک منبع رویدادها با ویژگی های زیر ارائه کنید:
نام ملک | ارزش | توضیحات | یادداشت ها |
---|---|---|---|
خواص مورد نیاز | |||
end | nested object | زمان پایان (انحصاری) رویداد. برای یک رویداد تکراری، این زمان پایان اولین نمونه است. | |
start | nested object | زمان (شامل) شروع رویداد. برای یک رویداد تکراری، این زمان شروع اولین نمونه است. | |
ویژگی های اختیاری | |||
anyoneCanAddSelf | boolean | اینکه آیا هر کسی می تواند خود را به رویداد دعوت کند یا نه (منسوخ شده است). اختیاری. پیش فرض نادرست است. | قابل نوشتن |
attachments[]. fileUrl | string | لینک URL به پیوست. برای افزودن پیوستهای فایل Google Drive از همان قالبی که در ویژگی هنگام افزودن پیوست ضروری است. | قابل نوشتن |
attendees[] | list | شرکت کنندگان در این رویداد. برای اطلاعات بیشتر در مورد زمانبندی رویدادها با سایر کاربران تقویم، راهنمای رویدادها با شرکتکنندگان را ببینید. حسابهای سرویس باید از تفویض اختیار در دامنه دامنه برای پر کردن فهرست شرکتکنندگان استفاده کنند. | قابل نوشتن |
attendees[]. additionalGuests | integer | تعداد مهمانان اضافی اختیاری. پیش فرض 0 است. | قابل نوشتن |
attendees[]. comment | string | نظر پاسخ حاضرین. اختیاری. | قابل نوشتن |
attendees[]. displayName | string | نام شرکت کننده، در صورت وجود. اختیاری. | قابل نوشتن |
attendees[]. email | string | آدرس ایمیل شرکت کننده در صورت وجود. این فیلد باید هنگام اضافه کردن یک شرکت کننده وجود داشته باشد. این باید یک آدرس ایمیل معتبر مطابق با RFC5322 باشد. هنگام اضافه کردن یک شرکت کننده الزامی است. | قابل نوشتن |
attendees[]. optional | boolean | آیا این یک شرکت کننده اختیاری است. اختیاری. پیش فرض نادرست است. | قابل نوشتن |
attendees[]. resource | boolean | آیا شرکت کننده یک منبع است. فقط زمانی تنظیم می شود که شرکت کننده برای اولین بار به رویداد اضافه شود. اصلاحات بعدی نادیده گرفته می شود. اختیاری. پیش فرض نادرست است. | قابل نوشتن |
attendees[]. responseStatus | string | وضعیت پاسخ شرکت کنندگان مقادیر ممکن عبارتند از:
| قابل نوشتن |
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 | نوع خاص رویداد پس از ایجاد رویداد نمی توان آن را تغییر داد. مقادیر ممکن عبارتند از:
| قابل نوشتن |
extendedProperties. private | object | ویژگی هایی که برای کپی رویدادی که در این تقویم ظاهر می شود خصوصی هستند. | قابل نوشتن |
extendedProperties. shared | object | ویژگی هایی که بین نسخه هایی از رویداد در تقویم سایر شرکت کنندگان به اشتراک گذاشته می شود. | قابل نوشتن |
focusTimeProperties | nested object | دادههای رویداد Focus Time. اگر eventType focusTime باشد استفاده می شود. | قابل نوشتن |
gadget. display | string | حالت نمایش گجت. منسوخ شده است. مقادیر ممکن عبارتند از:
| قابل نوشتن |
gadget. height | integer | ارتفاع این ابزار به پیکسل. ارتفاع باید یک عدد صحیح بزرگتر از 0 باشد. اختیاری است. منسوخ شده است. | قابل نوشتن |
gadget. iconLink | string | نشانی وب نماد ابزار. طرح URL باید HTTPS باشد. منسوخ شده است. | قابل نوشتن |
gadget. link | string | نشانی اینترنتی ابزارک. طرح URL باید HTTPS باشد. منسوخ شده است. | قابل نوشتن |
gadget. preferences | object | ترجیحات | قابل نوشتن |
gadget. title | string | عنوان ابزار. منسوخ شده است. | قابل نوشتن |
gadget. type | string | نوع گجت منسوخ شده است. | قابل نوشتن |
gadget. width | integer | عرض ابزار به پیکسل. عرض باید یک عدد صحیح بزرگتر از 0 باشد. اختیاری است. منسوخ شده است. | قابل نوشتن |
guestsCanInviteOthers | boolean | آیا شرکتکنندگانی غیر از سازماندهنده میتوانند دیگران را به رویداد دعوت کنند. اختیاری. پیش فرض True است. | قابل نوشتن |
guestsCanModify | boolean | آیا شرکتکنندگانی غیر از سازماندهنده میتوانند رویداد را تغییر دهند یا خیر. اختیاری. پیش فرض نادرست است. | قابل نوشتن |
guestsCanSeeOtherGuests | boolean | آیا شرکتکنندگانی غیر از سازماندهنده میتوانند ببینند شرکتکنندگان رویداد چه کسانی هستند یا خیر. اختیاری. پیش فرض True است. | قابل نوشتن |
id | string | شناسه غیر شفاف رویداد. هنگام ایجاد رویدادهای جدید یا تکرار شونده، می توانید شناسه آنها را مشخص کنید. شناسه های ارائه شده باید از این قوانین پیروی کنند:
اگر شناسه ای را مشخص نکنید، به طور خودکار توسط سرور ایجاد می شود. توجه داشته باشید که | قابل نوشتن |
location | string | موقعیت جغرافیایی رویداد به عنوان متن آزاد. اختیاری. | قابل نوشتن |
originalStartTime. date | date | اگر این یک رویداد تمام روز باشد، تاریخ، با فرمت "yyyy-mm-dd". | قابل نوشتن |
originalStartTime. dateTime | datetime | زمان، به عنوان یک مقدار ترکیبی تاریخ-زمان (بر اساس RFC3339 قالببندی شده است). یک افست منطقه زمانی مورد نیاز است مگر اینکه یک منطقه زمانی به صراحت در timeZone مشخص شده باشد. | قابل نوشتن |
originalStartTime. timeZone | string | منطقه زمانی که زمان در آن مشخص شده است. (قالب بندی شده به عنوان نام پایگاه داده منطقه زمانی IANA، به عنوان مثال "اروپا/زوریخ".) برای رویدادهای تکرار شونده، این فیلد مورد نیاز است و منطقه زمانی را که در آن تکرار گسترش می یابد، مشخص می کند. برای رویدادهای تک این فیلد اختیاری است و یک منطقه زمانی سفارشی را برای شروع/پایان رویداد نشان میدهد. | قابل نوشتن |
outOfOfficeProperties | nested object | داده های رویداد خارج از دفتر. اگر eventType outOfOffice باشد استفاده می شود. | قابل نوشتن |
recurrence[] | list | فهرست خطوط RRULE، EXRULE، RDATE و EXDATE برای یک رویداد تکرارشونده، همانطور که در RFC5545 مشخص شده است. توجه داشته باشید که خطوط DTSTART و DTEND در این قسمت مجاز نیستند. زمان شروع و پایان رویداد در قسمت های start و end مشخص شده است. این فیلد برای رویدادهای منفرد یا مواردی از رویدادهای تکرار شونده حذف شده است. | قابل نوشتن |
reminders. overrides[] | list | اگر رویداد از یادآورهای پیشفرض استفاده نمیکند، یادآوریهای خاص رویداد را فهرست میکند، یا اگر تنظیم نشده باشد، نشان میدهد که هیچ یادآوری برای این رویداد تنظیم نشده است. حداکثر تعداد یادآورهای لغو 5 عدد است. | قابل نوشتن |
reminders.overrides[]. method | string | روش استفاده شده توسط این یادآوری. مقادیر ممکن عبارتند از:
هنگام افزودن یادآوری لازم است. | قابل نوشتن |
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 | وضعیت رویداد. اختیاری. مقادیر ممکن عبارتند از:
| قابل نوشتن |
summary | string | عنوان رویداد. | قابل نوشتن |
transparency | string | آیا رویداد زمان را در تقویم مسدود می کند یا خیر. اختیاری. مقادیر ممکن عبارتند از:
| قابل نوشتن |
visibility | string | قابل مشاهده بودن رویداد اختیاری. مقادیر ممکن عبارتند از:
| قابل نوشتن |
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 | نام دفتری که در Calendar Web and Mobile Clients نمایش داده می شود. توصیه می کنیم نام ساختمان را در پایگاه داده منابع سازمان ذکر کنید. | قابل نوشتن |
workingLocationProperties. type | string | نوع محل کار مقادیر ممکن عبارتند از:
هنگام افزودن ویژگی های محل کار مورد نیاز است. | قابل نوشتن |
پاسخ
در صورت موفقیت آمیز بودن، این روش یک منبع رویدادها را در بدنه پاسخ باز می گرداند.
نمونه ها
توجه: نمونههای کد موجود برای این روش همه زبانهای برنامهنویسی پشتیبانیشده را نشان نمیدهند (برای فهرست زبانهای پشتیبانیشده به صفحه کتابخانههای سرویس گیرنده مراجعه کنید).
جاوا
از کتابخانه سرویس گیرنده جاوا استفاده می کند.
// 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());
پایتون
از کتابخانه کلاینت پایتون استفاده می کند.
# 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 استفاده می کند.
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}"
دات نت
از کتابخانه کلاینت دات نت استفاده می کند.
// 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 استفاده می کند.
// 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)
جاوا اسکریپت
از کتابخانه سرویس گیرنده جاوا اسکریپت استفاده می کند.
// 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 زیر برای فراخوانی این روش در دادههای زنده و دیدن پاسخ استفاده کنید.
یک رویداد ایجاد می کند. اکنون آن را امتحان کنید یا نمونه ای را ببینید .
درخواست کنید
درخواست HTTP
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events
پارامترها
نام پارامتر | ارزش | توضیحات |
---|---|---|
پارامترهای مسیر | ||
calendarId | string | شناسه تقویم برای بازیابی شناسه های تقویم با روش calendarList.list تماس بگیرید. اگر میخواهید به تقویم اصلی کاربر وارد شده در حال حاضر دسترسی داشته باشید، از کلمه کلیدی " primary " استفاده کنید. |
پارامترهای پرس و جو اختیاری | ||
conferenceDataVersion | integer | شماره نسخه داده های کنفرانس که توسط سرویس گیرنده API پشتیبانی می شود. نسخه 0 هیچ پشتیبانی از داده های کنفرانس را فرض نمی کند و داده های کنفرانس را در بدنه رویداد نادیده می گیرد. نسخه 1 پشتیبانی از کپی ConferenceData و همچنین برای ایجاد کنفرانس های جدید با استفاده از فیلد createRequest کنفرانس دیتا را امکان پذیر می کند. مقدار پیشفرض 0 است. مقادیر قابل قبول 0 تا 1 هستند. |
maxAttendees | integer | حداکثر تعداد شرکت کنندگانی که باید در پاسخ درج شود. در صورتی که تعداد شرکت کنندگان بیشتر از تعداد مشخص شده باشد، فقط شرکت کننده برگردانده می شود. اختیاری. |
sendNotifications | boolean | منسوخ شده است. لطفاً به جای آن از sendUpdates استفاده کنید. ارسال اعلانهایی درباره ایجاد رویداد جدید. توجه داشته باشید که برخی از ایمیلها ممکن است همچنان ارسال شوند حتی اگر مقدار را روی false تنظیم کنید. پیش فرض false است. |
sendUpdates | string | ارسال اعلانهایی درباره ایجاد رویداد جدید. توجه داشته باشید که برخی از ایمیلها ممکن است همچنان ارسال شوند. پیش فرض false است.مقادیر قابل قبول عبارتند از:
|
supportsAttachments | boolean | اینکه آیا سرویس گیرنده API در حال انجام عملیات از پیوست های رویداد پشتیبانی می کند یا خیر. اختیاری. پیش فرض نادرست است. |
مجوز
این درخواست نیاز به مجوز با حداقل یکی از حوزه های زیر دارد:
دامنه |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
برای اطلاعات بیشتر، به صفحه احراز هویت و مجوز مراجعه کنید.
درخواست بدن
در بدنه درخواست، یک منبع رویدادها با ویژگی های زیر ارائه کنید:
نام ملک | ارزش | توضیحات | یادداشت ها |
---|---|---|---|
خواص مورد نیاز | |||
end | nested object | زمان پایان (انحصاری) رویداد. برای یک رویداد تکراری، این زمان پایان اولین نمونه است. | |
start | nested object | زمان (شامل) شروع رویداد. برای یک رویداد تکراری، این زمان شروع اولین نمونه است. | |
ویژگی های اختیاری | |||
anyoneCanAddSelf | boolean | اینکه آیا هر کسی می تواند خود را به رویداد دعوت کند یا نه (منسوخ شده است). اختیاری. پیش فرض نادرست است. | قابل نوشتن |
attachments[]. fileUrl | string | لینک URL به پیوست. برای افزودن پیوستهای فایل Google Drive از همان قالبی که در ویژگی هنگام افزودن پیوست ضروری است. | قابل نوشتن |
attendees[] | list | شرکت کنندگان در این رویداد. برای اطلاعات بیشتر در مورد زمانبندی رویدادها با سایر کاربران تقویم، راهنمای رویدادها با شرکتکنندگان را ببینید. حسابهای سرویس باید از تفویض اختیار در دامنه دامنه برای پر کردن فهرست شرکتکنندگان استفاده کنند. | قابل نوشتن |
attendees[]. additionalGuests | integer | تعداد مهمانان اضافی اختیاری. پیش فرض 0 است. | قابل نوشتن |
attendees[]. comment | string | نظر پاسخ حاضرین. اختیاری. | قابل نوشتن |
attendees[]. displayName | string | نام شرکت کننده، در صورت وجود. اختیاری. | قابل نوشتن |
attendees[]. email | string | آدرس ایمیل شرکت کننده در صورت وجود. این فیلد باید هنگام اضافه کردن یک شرکت کننده وجود داشته باشد. این باید یک آدرس ایمیل معتبر مطابق با RFC5322 باشد. هنگام اضافه کردن یک شرکت کننده الزامی است. | قابل نوشتن |
attendees[]. optional | boolean | آیا این یک شرکت کننده اختیاری است. اختیاری. پیش فرض نادرست است. | قابل نوشتن |
attendees[]. resource | boolean | آیا شرکت کننده یک منبع است. فقط زمانی تنظیم می شود که شرکت کننده برای اولین بار به رویداد اضافه شود. اصلاحات بعدی نادیده گرفته می شود. اختیاری. پیش فرض نادرست است. | قابل نوشتن |
attendees[]. responseStatus | string | وضعیت پاسخ شرکت کنندگان مقادیر ممکن عبارتند از:
| قابل نوشتن |
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 | نوع خاص رویداد پس از ایجاد رویداد نمی توان آن را تغییر داد. مقادیر ممکن عبارتند از:
| قابل نوشتن |
extendedProperties. private | object | ویژگی هایی که برای کپی رویدادی که در این تقویم ظاهر می شود خصوصی هستند. | قابل نوشتن |
extendedProperties. shared | object | ویژگی هایی که بین نسخه هایی از رویداد در تقویم سایر شرکت کنندگان به اشتراک گذاشته می شود. | قابل نوشتن |
focusTimeProperties | nested object | دادههای رویداد Focus Time. اگر eventType focusTime باشد استفاده می شود. | قابل نوشتن |
gadget. display | string | حالت نمایش گجت. منسوخ شده است. مقادیر ممکن عبارتند از:
| قابل نوشتن |
gadget. height | integer | ارتفاع این ابزار به پیکسل. ارتفاع باید یک عدد صحیح بزرگتر از 0 باشد. اختیاری است. منسوخ شده است. | قابل نوشتن |
gadget. iconLink | string | نشانی وب نماد ابزار. طرح URL باید HTTPS باشد. منسوخ شده است. | قابل نوشتن |
gadget. link | string | نشانی اینترنتی ابزارک. طرح URL باید HTTPS باشد. منسوخ شده است. | قابل نوشتن |
gadget. preferences | object | ترجیحات | قابل نوشتن |
gadget. title | string | عنوان ابزار. منسوخ شده است. | قابل نوشتن |
gadget. type | string | نوع گجت منسوخ شده است. | قابل نوشتن |
gadget. width | integer | عرض ابزار به پیکسل. عرض باید یک عدد صحیح بزرگتر از 0 باشد. اختیاری است. منسوخ شده است. | قابل نوشتن |
guestsCanInviteOthers | boolean | آیا شرکتکنندگانی غیر از سازماندهنده میتوانند دیگران را به رویداد دعوت کنند. اختیاری. پیش فرض True است. | قابل نوشتن |
guestsCanModify | boolean | آیا شرکتکنندگانی غیر از سازماندهنده میتوانند رویداد را تغییر دهند یا خیر. اختیاری. پیش فرض نادرست است. | قابل نوشتن |
guestsCanSeeOtherGuests | boolean | آیا شرکتکنندگانی غیر از سازماندهنده میتوانند ببینند شرکتکنندگان رویداد چه کسانی هستند یا خیر. اختیاری. پیش فرض True است. | قابل نوشتن |
id | string | شناسه غیر شفاف رویداد. هنگام ایجاد رویدادهای جدید یا تکرار شونده، می توانید شناسه آنها را مشخص کنید. شناسه های ارائه شده باید از این قوانین پیروی کنند:
اگر شناسه ای را مشخص نکنید، به طور خودکار توسط سرور ایجاد می شود. توجه داشته باشید که | قابل نوشتن |
location | string | موقعیت جغرافیایی رویداد به عنوان متن آزاد. اختیاری. | قابل نوشتن |
originalStartTime. date | date | اگر این یک رویداد تمام روز باشد، تاریخ، با فرمت "yyyy-mm-dd". | قابل نوشتن |
originalStartTime. dateTime | datetime | زمان، به عنوان یک مقدار ترکیبی تاریخ-زمان (بر اساس RFC3339 قالببندی شده است). یک افست منطقه زمانی مورد نیاز است مگر اینکه یک منطقه زمانی به صراحت در timeZone مشخص شده باشد. | قابل نوشتن |
originalStartTime. timeZone | string | منطقه زمانی که زمان در آن مشخص شده است. (قالب بندی شده به عنوان نام پایگاه داده منطقه زمانی IANA، به عنوان مثال "اروپا/زوریخ".) برای رویدادهای تکرار شونده، این فیلد مورد نیاز است و منطقه زمانی را که در آن تکرار گسترش می یابد، مشخص می کند. برای رویدادهای تک این فیلد اختیاری است و یک منطقه زمانی سفارشی را برای شروع/پایان رویداد نشان میدهد. | قابل نوشتن |
outOfOfficeProperties | nested object | داده های رویداد خارج از دفتر. اگر eventType outOfOffice باشد استفاده می شود. | قابل نوشتن |
recurrence[] | list | فهرست خطوط RRULE، EXRULE، RDATE و EXDATE برای یک رویداد تکرارشونده، همانطور که در RFC5545 مشخص شده است. توجه داشته باشید که خطوط DTSTART و DTEND در این قسمت مجاز نیستند. زمان شروع و پایان رویداد در قسمت های start و end مشخص شده است. این فیلد برای رویدادهای منفرد یا مواردی از رویدادهای تکرار شونده حذف شده است. | قابل نوشتن |
reminders. overrides[] | list | اگر رویداد از یادآورهای پیشفرض استفاده نمیکند، یادآوریهای خاص رویداد را فهرست میکند، یا اگر تنظیم نشده باشد، نشان میدهد که هیچ یادآوری برای این رویداد تنظیم نشده است. حداکثر تعداد یادآورهای لغو 5 عدد است. | قابل نوشتن |
reminders.overrides[]. method | string | روش استفاده شده توسط این یادآوری. مقادیر ممکن عبارتند از:
هنگام افزودن یادآوری لازم است. | قابل نوشتن |
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 | وضعیت رویداد. اختیاری. مقادیر ممکن عبارتند از:
| قابل نوشتن |
summary | string | عنوان رویداد. | قابل نوشتن |
transparency | string | آیا رویداد زمان را در تقویم مسدود می کند یا خیر. اختیاری. مقادیر ممکن عبارتند از:
| قابل نوشتن |
visibility | string | قابل مشاهده بودن رویداد اختیاری. مقادیر ممکن عبارتند از:
| قابل نوشتن |
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 | نام دفتری که در Calendar Web and Mobile Clients نمایش داده می شود. توصیه می کنیم نام ساختمان را در پایگاه داده منابع سازمان ذکر کنید. | قابل نوشتن |
workingLocationProperties. type | string | نوع محل کار مقادیر ممکن عبارتند از:
هنگام افزودن ویژگی های محل کار مورد نیاز است. | قابل نوشتن |
پاسخ
در صورت موفقیت آمیز بودن، این روش یک منبع رویدادها را در بدنه پاسخ باز می گرداند.
نمونه ها
توجه: نمونههای کد موجود برای این روش همه زبانهای برنامهنویسی پشتیبانیشده را نشان نمیدهند (برای فهرست زبانهای پشتیبانیشده به صفحه کتابخانههای سرویس گیرنده مراجعه کنید).
جاوا
از کتابخانه سرویس گیرنده جاوا استفاده می کند.
// 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());
پایتون
از کتابخانه کلاینت پایتون استفاده می کند.
# 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 استفاده می کند.
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}"
دات نت
از کتابخانه کلاینت دات نت استفاده می کند.
// 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 استفاده می کند.
// 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)
جاوا اسکریپت
از کتابخانه سرویس گیرنده جاوا اسکریپت استفاده می کند.
// 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 زیر برای فراخوانی این روش در دادههای زنده و دیدن پاسخ استفاده کنید.
یک رویداد ایجاد می کند. اکنون آن را امتحان کنید یا نمونه ای را ببینید .
درخواست کنید
درخواست HTTP
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events
پارامترها
نام پارامتر | ارزش | توضیحات |
---|---|---|
پارامترهای مسیر | ||
calendarId | string | شناسه تقویم برای بازیابی شناسه های تقویم با روش calendarList.list تماس بگیرید. اگر میخواهید به تقویم اصلی کاربر وارد شده در حال حاضر دسترسی داشته باشید، از کلمه کلیدی " primary " استفاده کنید. |
پارامترهای پرس و جو اختیاری | ||
conferenceDataVersion | integer | شماره نسخه داده های کنفرانس که توسط سرویس گیرنده API پشتیبانی می شود. نسخه 0 هیچ پشتیبانی از داده های کنفرانس را فرض نمی کند و داده های کنفرانس را در بدنه رویداد نادیده می گیرد. نسخه 1 پشتیبانی از کپی ConferenceData و همچنین برای ایجاد کنفرانس های جدید با استفاده از فیلد createRequest کنفرانس دیتا را امکان پذیر می کند. مقدار پیشفرض 0 است. مقادیر قابل قبول 0 تا 1 هستند. |
maxAttendees | integer | حداکثر تعداد شرکت کنندگانی که باید در پاسخ درج شود. در صورتی که تعداد شرکت کنندگان بیشتر از تعداد مشخص شده باشد، فقط شرکت کننده برگردانده می شود. اختیاری. |
sendNotifications | boolean | منسوخ شده است. لطفاً به جای آن از sendUpdates استفاده کنید. ارسال اعلانهایی درباره ایجاد رویداد جدید. توجه داشته باشید که برخی از ایمیلها ممکن است همچنان ارسال شوند حتی اگر مقدار را روی false تنظیم کنید. پیش فرض false است. |
sendUpdates | string | ارسال اعلانهایی درباره ایجاد رویداد جدید. توجه داشته باشید که برخی از ایمیلها ممکن است همچنان ارسال شوند. پیش فرض false است.مقادیر قابل قبول عبارتند از:
|
supportsAttachments | boolean | اینکه آیا سرویس گیرنده API در حال انجام عملیات از پیوست های رویداد پشتیبانی می کند یا خیر. اختیاری. پیش فرض نادرست است. |
مجوز
این درخواست نیاز به مجوز با حداقل یکی از حوزه های زیر دارد:
دامنه |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
برای اطلاعات بیشتر، به صفحه احراز هویت و مجوز مراجعه کنید.
درخواست بدن
در بدنه درخواست، یک منبع رویدادها با ویژگی های زیر ارائه کنید:
نام ملک | ارزش | توضیحات | یادداشت ها |
---|---|---|---|
خواص مورد نیاز | |||
end | nested object | زمان پایان (انحصاری) رویداد. برای یک رویداد تکراری، این زمان پایان اولین نمونه است. | |
start | nested object | زمان (شامل) شروع رویداد. برای یک رویداد تکراری، این زمان شروع اولین نمونه است. | |
ویژگی های اختیاری | |||
anyoneCanAddSelf | boolean | اینکه آیا هر کسی می تواند خود را به رویداد دعوت کند یا نه (منسوخ شده است). اختیاری. پیش فرض نادرست است. | قابل نوشتن |
attachments[]. fileUrl | string | لینک URL به پیوست. برای افزودن پیوستهای فایل Google Drive از همان قالبی که در ویژگی هنگام افزودن پیوست ضروری است. | قابل نوشتن |
attendees[] | list | شرکت کنندگان در این رویداد. برای اطلاعات بیشتر در مورد زمانبندی رویدادها با سایر کاربران تقویم، راهنمای رویدادها با شرکتکنندگان را ببینید. حسابهای سرویس باید از تفویض اختیار در دامنه دامنه برای پر کردن فهرست شرکتکنندگان استفاده کنند. | قابل نوشتن |
attendees[]. additionalGuests | integer | تعداد مهمانان اضافی اختیاری. پیش فرض 0 است. | قابل نوشتن |
attendees[]. comment | string | نظر پاسخ حاضرین. اختیاری. | قابل نوشتن |
attendees[]. displayName | string | نام شرکت کننده، در صورت وجود. اختیاری. | قابل نوشتن |
attendees[]. email | string | آدرس ایمیل شرکت کننده در صورت وجود. این فیلد باید هنگام اضافه کردن یک شرکت کننده وجود داشته باشد. این باید یک آدرس ایمیل معتبر مطابق با RFC5322 باشد. هنگام اضافه کردن یک شرکت کننده الزامی است. | قابل نوشتن |
attendees[]. optional | boolean | آیا این یک شرکت کننده اختیاری است. اختیاری. پیش فرض نادرست است. | قابل نوشتن |
attendees[]. resource | boolean | آیا شرکت کننده یک منبع است. فقط زمانی تنظیم می شود که شرکت کننده برای اولین بار به رویداد اضافه شود. اصلاحات بعدی نادیده گرفته می شود. اختیاری. پیش فرض نادرست است. | قابل نوشتن |
attendees[]. responseStatus | string | وضعیت پاسخ شرکت کنندگان مقادیر ممکن عبارتند از:
| قابل نوشتن |
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 | نوع خاص رویداد پس از ایجاد رویداد نمی توان آن را تغییر داد. مقادیر ممکن عبارتند از:
| قابل نوشتن |
extendedProperties. private | object | ویژگی هایی که برای کپی رویدادی که در این تقویم ظاهر می شود خصوصی هستند. | قابل نوشتن |
extendedProperties. shared | object | ویژگی هایی که بین نسخه هایی از رویداد در تقویم سایر شرکت کنندگان به اشتراک گذاشته می شود. | قابل نوشتن |
focusTimeProperties | nested object | دادههای رویداد Focus Time. اگر eventType focusTime باشد استفاده می شود. | قابل نوشتن |
gadget. display | string | حالت نمایش گجت. منسوخ شده است. مقادیر ممکن عبارتند از:
| قابل نوشتن |
gadget. height | integer | ارتفاع این ابزار به پیکسل. ارتفاع باید یک عدد صحیح بزرگتر از 0 باشد. اختیاری است. منسوخ شده است. | قابل نوشتن |
gadget. iconLink | string | نشانی وب نماد ابزار. طرح URL باید HTTPS باشد. منسوخ شده است. | قابل نوشتن |
gadget. link | string | نشانی اینترنتی ابزارک. طرح URL باید HTTPS باشد. منسوخ شده است. | قابل نوشتن |
gadget. preferences | object | ترجیحات | قابل نوشتن |
gadget. title | string | عنوان ابزار. منسوخ شده است. | قابل نوشتن |
gadget. type | string | نوع گجت منسوخ شده است. | قابل نوشتن |
gadget. width | integer | عرض ابزار به پیکسل. عرض باید یک عدد صحیح بزرگتر از 0 باشد. اختیاری است. منسوخ شده است. | قابل نوشتن |
guestsCanInviteOthers | boolean | آیا شرکتکنندگانی غیر از سازماندهنده میتوانند دیگران را به رویداد دعوت کنند. اختیاری. پیش فرض True است. | قابل نوشتن |
guestsCanModify | boolean | آیا شرکتکنندگانی غیر از سازماندهنده میتوانند رویداد را تغییر دهند یا خیر. اختیاری. پیش فرض نادرست است. | قابل نوشتن |
guestsCanSeeOtherGuests | boolean | آیا شرکتکنندگانی غیر از سازماندهنده میتوانند ببینند شرکتکنندگان رویداد چه کسانی هستند یا خیر. اختیاری. پیش فرض True است. | قابل نوشتن |
id | string | شناسه غیر شفاف رویداد. هنگام ایجاد رویدادهای جدید یا تکرار شونده، می توانید شناسه آنها را مشخص کنید. شناسه های ارائه شده باید از این قوانین پیروی کنند:
اگر شناسه ای را مشخص نکنید، به طور خودکار توسط سرور ایجاد می شود. توجه داشته باشید که | قابل نوشتن |
location | string | موقعیت جغرافیایی رویداد به عنوان متن آزاد. اختیاری. | قابل نوشتن |
originalStartTime. date | date | اگر این یک رویداد تمام روز باشد، تاریخ، با فرمت "yyyy-mm-dd". | قابل نوشتن |
originalStartTime. dateTime | datetime | زمان، به عنوان یک مقدار ترکیبی تاریخ-زمان (بر اساس RFC3339 قالببندی شده است). یک افست منطقه زمانی مورد نیاز است مگر اینکه یک منطقه زمانی به صراحت در timeZone مشخص شده باشد. | قابل نوشتن |
originalStartTime. timeZone | string | منطقه زمانی که زمان در آن مشخص شده است. (قالب بندی شده به عنوان نام پایگاه داده منطقه زمانی IANA، به عنوان مثال "اروپا/زوریخ".) برای رویدادهای تکرار شونده، این فیلد مورد نیاز است و منطقه زمانی را که در آن تکرار گسترش می یابد، مشخص می کند. برای رویدادهای تک این فیلد اختیاری است و یک منطقه زمانی سفارشی را برای شروع/پایان رویداد نشان میدهد. | قابل نوشتن |
outOfOfficeProperties | nested object | داده های رویداد خارج از دفتر. اگر eventType outOfOffice باشد استفاده می شود. | قابل نوشتن |
recurrence[] | list | فهرست خطوط RRULE، EXRULE، RDATE و EXDATE برای یک رویداد تکرارشونده، همانطور که در RFC5545 مشخص شده است. توجه داشته باشید که خطوط DTSTART و DTEND در این قسمت مجاز نیستند. زمان شروع و پایان رویداد در قسمت های start و end مشخص شده است. این فیلد برای رویدادهای منفرد یا مواردی از رویدادهای تکرار شونده حذف شده است. | قابل نوشتن |
reminders. overrides[] | list | اگر رویداد از یادآورهای پیشفرض استفاده نمیکند، یادآوریهای خاص رویداد را فهرست میکند، یا اگر تنظیم نشده باشد، نشان میدهد که هیچ یادآوری برای این رویداد تنظیم نشده است. حداکثر تعداد یادآورهای لغو 5 عدد است. | قابل نوشتن |
reminders.overrides[]. method | string | روش استفاده شده توسط این یادآوری. مقادیر ممکن عبارتند از:
هنگام افزودن یادآوری لازم است. | قابل نوشتن |
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 | وضعیت رویداد. اختیاری. مقادیر ممکن عبارتند از:
| قابل نوشتن |
summary | string | عنوان رویداد. | قابل نوشتن |
transparency | string | آیا رویداد زمان را در تقویم مسدود می کند یا خیر. اختیاری. مقادیر ممکن عبارتند از:
| قابل نوشتن |
visibility | string | قابل مشاهده بودن رویداد اختیاری. مقادیر ممکن عبارتند از:
| قابل نوشتن |
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 | نام دفتری که در Calendar Web and Mobile Clients نمایش داده می شود. توصیه می کنیم نام ساختمان را در پایگاه داده منابع سازمان ذکر کنید. | قابل نوشتن |
workingLocationProperties. type | string | نوع محل کار مقادیر ممکن عبارتند از:
هنگام افزودن ویژگی های محل کار مورد نیاز است. | قابل نوشتن |
پاسخ
در صورت موفقیت آمیز بودن، این روش یک منبع رویدادها را در بدنه پاسخ باز می گرداند.
نمونه ها
توجه: نمونههای کد موجود برای این روش همه زبانهای برنامهنویسی پشتیبانیشده را نشان نمیدهند (برای فهرست زبانهای پشتیبانیشده به صفحه کتابخانههای سرویس گیرنده مراجعه کنید).
جاوا
از کتابخانه سرویس گیرنده جاوا استفاده می کند.
// 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());
پایتون
از کتابخانه کلاینت پایتون استفاده می کند.
# 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 استفاده می کند.
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}"
دات نت
از کتابخانه کلاینت دات نت استفاده می کند.
// 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 استفاده می کند.
// 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)
جاوا اسکریپت
از کتابخانه سرویس گیرنده جاوا اسکریپت استفاده می کند.
// 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 زیر برای فراخوانی این روش در دادههای زنده و دیدن پاسخ استفاده کنید.