Events: list

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

किसी खास कैलेंडर के इवेंट दिखाता है. इसे अभी आज़माएं या उदाहरण देखें.

अनुरोध करें

एचटीटीपी अनुरोध

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

पैरामीटर

पैरामीटर का नाम वैल्यू जानकारी
पाथ पैरामीटर
calendarId string कैलेंडर आइडेंटिफ़ायर. कैलेंडर आईडी फिर से पाने के लिए, calendarList.list तरीके पर कॉल करें. फ़िलहाल, लॉग इन किए हुए उपयोगकर्ता के मुख्य कैलेंडर को ऐक्सेस करने के लिए, "primary" कीवर्ड का इस्तेमाल करें.
वैकल्पिक क्वेरी पैरामीटर
alwaysIncludeEmail boolean बहिष्कृत और अनदेखा किया गया. वास्तविक ईमेल पता उपलब्ध होने पर भी आयोजक, निर्माता और उपस्थित व्यक्तियों के लिए email फ़ील्ड में मान लौटाया जाएगा (यानी कि जनरेट किया गया, काम न करने वाला मान दिया जाएगा).
iCalUID string रिस्पॉन्स में दिए जाने वाले iCalendar फ़ॉर्मैट में इवेंट आईडी के बारे में बताता है. ज़रूरी नहीं. अगर आपको किसी इवेंट को उसके iCalendar आईडी से खोजना है, तो इसका इस्तेमाल करें.
maxAttendees integer जवाब में शामिल होने वाले मेहमानों की ज़्यादा से ज़्यादा संख्या. अगर मीटिंग में शामिल होने वाले लोगों की संख्या, तय संख्या से ज़्यादा है, तो सिर्फ़ उस व्यक्ति को दिखाया जाएगा. ज़रूरी नहीं.
maxResults integer किसी नतीजे वाले पेज पर, ज़्यादा से ज़्यादा कितने इवेंट दिखाए गए. नतीजे वाले पेज पर इवेंट की संख्या, इस वैल्यू से कम हो सकती है या कोई भी नहीं. भले ही, क्वेरी से मिलते-जुलते और इवेंट हों. जवाब में अधूरे पेजों का पता लगाने के लिए, ऐसे फ़ील्ड का इस्तेमाल किया जा सकता है जिसे खाली न रखा जा सके nextPageToken. डिफ़ॉल्ट रूप से वैल्यू 250 इवेंट होती है. पेज का साइज़ कभी भी 2,500 इवेंट से बड़ा नहीं हो सकता. ज़रूरी नहीं.
orderBy string नतीजे में दिए गए इवेंट का क्रम. ज़रूरी नहीं. डिफ़ॉल्ट तौर पर, कोई क्रम नहीं बढ़िया होता है.

मान्य वैल्यू ये हैं:
  • "startTime": शुरू होने की तारीख/समय (बढ़ते क्रम) के हिसाब से क्रम में लगाएं. यह सुविधा सिर्फ़ एक इवेंट (यह पैरामीटर singleEvents सही है) की क्वेरी करते समय ही उपलब्ध होती है
  • "updated": पिछली बार किए गए बदलाव के समय के हिसाब से क्रम में लगाएं.
pageToken string यह बताता है कि कौनसा नतीजा वाला पेज दिखाना है. ज़रूरी नहीं.
privateExtendedProperty string एक्सटेंडेड प्रॉपर्टी कंस्ट्रेंट, propertyName=value के तौर पर तय होता है. सिर्फ़ निजी प्रॉपर्टी से मेल खाता है. सभी पैरामीटर से मेल खाने वाले इवेंट दिखाने के लिए, इस पैरामीटर को कई बार दोहराया जा सकता है.
q string नीचे दिए गए फ़ील्ड में, इन शब्दों से मेल खाने वाले इवेंट ढूंढने के लिए, टेक्स्ट खोजने के लिए मुफ़्त शब्द: summary, description, location, मेहमान के displayName, मेहमान के email. ज़रूरी नहीं.
sharedExtendedProperty string एक्सटेंडेड प्रॉपर्टी कंस्ट्रेंट, propertyName=value के तौर पर तय होता है. सिर्फ़ शेयर की गई प्रॉपर्टी से मेल खाता है. सभी पैरामीटर से मेल खाने वाले इवेंट दिखाने के लिए, इस पैरामीटर को कई बार दोहराया जा सकता है.
showDeleted boolean क्या आपको मिटाए गए इवेंट को शामिल करना है (इसके नतीजे के तौर पर status, "cancelled" के बराबर होगा). अगर बार-बार होने वाले इवेंट (जो बार-बार होने वाले इवेंट नहीं हैं) के रद्द किए गए इंस्टेंस अब भी शामिल किए जाएंगे, अगर showDeleted और singleEvents, दोनों गलत हैं. अगर showDeleted और singleEvents, दोनों सही हैं, तो मिटाए गए इवेंट के सिर्फ़ एक इंस्टेंस (लेकिन बार-बार होने वाले इवेंट नहीं) दिखाए जाते हैं. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, 'गलत है' पर क्लिक किया जाता है.
showHiddenInvitations boolean क्या खोज के नतीजों में, छिपे हुए न्योते शामिल करने हैं. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, 'गलत है' पर क्लिक किया जाता है.
singleEvents boolean बार-बार होने वाले इवेंट का विस्तार करना है या नहीं और सिर्फ़ एक बार होने वाले इवेंट और बार-बार होने वाले इवेंट के इंस्टेंस को बढ़ाना है, न कि सिर्फ़ बुनियादी इवेंट को. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, 'गलत है' पर क्लिक किया जाता है.
syncToken string nextSyncToken फ़ील्ड से मिला टोकन, सूची के पिछले अनुरोध पर नतीजों के आखिरी पेज पर मिला. इस सूची अनुरोध के नतीजे में सिर्फ़ वही एंट्री डाली जाती हैं, जो उसके बाद बदल गई हैं. सूची में मौजूद पिछले सभी अनुरोध हमेशा के लिए नतीजे के सेट में दिखेंगे. इसलिए, showDeleted को 'गलत है' पर सेट करने की अनुमति नहीं है.
ऐसे कई क्वेरी पैरामीटर हैं जिन्हें nextSyncToken के साथ नहीं दिखाया जा सकता, ताकि क्लाइंट की स्थिति एक जैसी रहे.

ये हैं:
  • iCalUID
  • orderBy
  • privateExtendedProperty
  • q
  • sharedExtendedProperty
  • timeMin
  • timeMax
  • updatedMin
अगर syncToken की समयसीमा खत्म हो जाती है, तो सर्वर 410 GONE रिस्पॉन्स कोड के साथ रिस्पॉन्स देगा. साथ ही, क्लाइंट को अपना स्टोरेज खाली करना होगा और syncToken के बिना पूरा सिंक करना होगा.
इनक्रिमेंटल सिंक के बारे में ज़्यादा जानें.
ज़रूरी नहीं है. सभी एंट्री को डिफ़ॉल्ट रूप से लौटाया जाता है.
timeMax datetime इवेंट के शुरू होने के समय के हिसाब से फ़िल्टर करने के लिए, ऊपरी सीमा (खास तौर पर). ज़रूरी नहीं. डिफ़ॉल्ट रूप से, शुरुआत के समय के हिसाब से फ़िल्टर न करें. यह एक RFC3339 टाइमस्टैंप होना चाहिए, जिसमें ज़रूरी समय क्षेत्र ऑफ़सेट हो. उदाहरण के लिए, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. मिलीसेकंड दिए जा सकते हैं, लेकिन अनदेखा कर दिया जाता है. अगर timeMin सेट है, तो timeMax timeMin से ज़्यादा होना चाहिए.
timeMin datetime इवेंट के खत्म होने के समय के हिसाब से, फ़िल्टर के लिए लोअर बाउंड (खास तौर पर). ज़रूरी नहीं. डिफ़ॉल्ट तौर पर, खत्म होने के समय के हिसाब से फ़िल्टर नहीं करना है. यह एक RFC3339 टाइमस्टैंप होना चाहिए, जिसमें ज़रूरी समय क्षेत्र ऑफ़सेट हो. उदाहरण के लिए, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. मिलीसेकंड दिए जा सकते हैं, लेकिन अनदेखा कर दिया जाता है. अगर timeMax सेट है, तो timeMin timeMax से कम होना चाहिए.
timeZone string जवाब में इस्तेमाल किया गया समय क्षेत्र. ज़रूरी नहीं. कैलेंडर का समय क्षेत्र डिफ़ॉल्ट है.
updatedMin datetime फ़िल्टर करने के लिए, इवेंट के पिछले बदलाव के समय की कम सीमा (RFC3339 टाइमस्टैंप के तौर पर). बताए जाने पर, इस समय के बाद से मिटाई गई एंट्री हमेशा शामिल की जाएंगी. showDeleted. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, बदलाव करने के समय के हिसाब से फ़िल्टर नहीं किया जाना चाहिए.

अनुमति देना

यह अनुरोध इनमें से कम से कम एक दायरे की अनुमति देता है:

अनुमति देने का
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events.readonly
https://www.googleapis.com/auth/calendar.events

ज़्यादा जानकारी के लिए, पुष्टि और अनुमति देना पेज देखें.

अनुरोध का मुख्य भाग

इस तरीके से, अनुरोध का मुख्य हिस्सा न दें.

जवाब

अगर अनुरोध कामयाब रहता है, तो इस रिस्पॉन्स के साथ रिस्पॉन्स का फ़ॉर्मैट नीचे दिया गया है:

{
  "kind": "calendar#events",
  "etag": etag,
  "summary": string,
  "description": string,
  "updated": datetime,
  "timeZone": string,
  "accessRole": string,
  "defaultReminders": [
    {
      "method": string,
      "minutes": integer
    }
  ],
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    events Resource
  ]
}
प्रॉपर्टी का नाम वैल्यू जानकारी नोट
kind string कलेक्शन का टाइप ("calendar#events").
etag etag कलेक्शन का ई-टैग.
summary string कैलेंडर का शीर्षक. रीड-ओनली.
description string कैलेंडर का ब्यौरा. रीड-ओनली.
updated datetime कैलेंडर का आखिरी बदलाव का समय (RFC3339 टाइमस्टैंप के रूप में). रीड-ओनली.
timeZone string कैलेंडर का समय क्षेत्र. रीड-ओनली.
accessRole string इस कैलेंडर के लिए, उपयोगकर्ता के ऐक्सेस की भूमिका. रीड-ओनली. वैल्यू इस तरह की हो सकती हैं:
  • "none" - उपयोगकर्ता के पास कोई ऐक्सेस नहीं है.
  • "freeBusyReader" - उपयोगकर्ता के पास खाली या व्यस्त जानकारी को पढ़ने का ऐक्सेस होता है.
  • "reader" - उपयोगकर्ता के पास कैलेंडर में पढ़ने का ऐक्सेस है. पढ़ने वालों के ऐक्सेस वाले उपयोगकर्ताओं को निजी इवेंट दिखेंगे. हालांकि, इवेंट की जानकारी छिपा दी जाएगी.
  • "writer" - उपयोगकर्ता ने कैलेंडर में पढ़ने और लिखने का ऐक्सेस दिया है. जिन उपयोगकर्ताओं के पास लेखक का ऐक्सेस है उन्हें निजी इवेंट दिखेंगे. साथ ही, इवेंट की जानकारी भी दिखेगी.
  • "owner" - उपयोगकर्ता के पास कैलेंडर का मालिकाना हक है. इस भूमिका में, लेखक की भूमिका की सभी अनुमतियां हैं. इन अनुमतियों में, एसीएल को देखने और उनमें बदलाव करने की अन्य सुविधाएं शामिल हैं.
defaultReminders[] list पुष्टि किए गए उपयोगकर्ता के कैलेंडर पर डिफ़ॉल्ट रिमाइंडर. ये रिमाइंडर, इस कैलेंडर के उन सभी इवेंट पर लागू होते हैं जो साफ़ तौर पर उन्हें नहीं बदलते. इसका मतलब, reminders.useDefault को 'सही है' पर सेट नहीं किया जाता.
defaultReminders[].method string इस रिमाइंडर में इस्तेमाल किया गया तरीका. वैल्यू इस तरह की हो सकती हैं:
  • "email" - रिमाइंडर, ईमेल से भेजे जाते हैं.
  • "popup" - रिमाइंडर, यूज़र इंटरफ़ेस (यूआई) पॉप-अप की मदद से भेजे जाते हैं.

रिमाइंडर जोड़ते समय ज़रूरी है.

लिखा जा सकता है
defaultReminders[].minutes integer रिमाइंडर के ट्रिगर होने का समय, इवेंट शुरू होने से इतने मिनट पहले. वैल्यू, 0 से 40320 (मिनट में चार हफ़्ते) के बीच होती हैं.

रिमाइंडर जोड़ते समय ज़रूरी है.

लिखा जा सकता है
nextPageToken string इस नतीजे के अगले पेज को ऐक्सेस करने के लिए इस्तेमाल किया गया टोकन. अगर कोई और नतीजा उपलब्ध नहीं होता है, तो इसे छोड़ दिया जाता है. इस स्थिति में nextSyncToken दिया जाता है.
items[] list कैलेंडर में इवेंट की सूची.
nextSyncToken string टोकन को बाद में कभी-कभी इस्तेमाल किया जाता है, ताकि सिर्फ़ वही एंट्री वापस पाई जा सकें जो इस नतीजे के बाद बदली हैं. अगर आगे के नतीजे उपलब्ध होते हैं, तो इसे छोड़ दिया जाता है. ऐसे में nextPageToken दिया जाता है.

उदाहरण

ध्यान दें: इस तरीके के लिए दिए गए कोड के उदाहरणों में इसके साथ काम करने वाली सभी प्रोग्रामिंग भाषाएं नहीं दिखाई गई हैं (इसके साथ काम करने वाली भाषाओं की सूची के लिए क्लाइंट लाइब्रेरी वाला पेज देखें).

Java

Java क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;
import com.google.api.services.calendar.model.Events;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Iterate over the events in the specified calendar
String pageToken = null;
do {
  Events events = service.events().list('primary').setPageToken(pageToken).execute();
  List<Event> items = events.getItems();
  for (Event event : items) {
    System.out.println(event.getSummary());
  }
  pageToken = events.getNextPageToken();
} while (pageToken != null);

Python

Python क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

page_token = None
while True:
  events = service.events().list(calendarId='primary', pageToken=page_token).execute()
  for event in events['items']:
    print event['summary']
  page_token = events.get('nextPageToken')
  if not page_token:
    break

PHP

PHP क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

$events = $service->events->listEvents('primary');

while(true) {
  foreach ($events->getItems() as $event) {
    echo $event->getSummary();
  }
  $pageToken = $events->getNextPageToken();
  if ($pageToken) {
    $optParams = array('pageToken' => $pageToken);
    $events = $service->events->listEvents('primary', $optParams);
  } else {
    break;
  }
}

Ruby

Ruby क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

page_token = nil
begin
  result = client.list_events('primary', page_token: page_token)
  result.items.each do |e|
    print e.summary + "\n"
  end
  if result.next_page_token != page_token
    page_token = result.next_page_token
  else
    page_token = nil
  end
end while !page_token.nil?

इसे आज़माएं!

इस तरीके को लाइव डेटा पर कॉल करने और जवाब देखने के लिए, नीचे दिए गए एपीआई एक्सप्लोरर का इस्तेमाल करें.