CalendarList: list

उपयोगकर्ता की कैलेंडर सूची में मौजूद कैलेंडर दिखाता है. इसे अभी आज़माएं या उदाहरण देखें.

अनुरोध

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

GET https://www.googleapis.com/calendar/v3/users/me/calendarList

पैरामीटर

पैरामीटर का नाम मान ब्यौरा
ज़रूरी नहीं क्वेरी पैरामीटर
maxResults integer एक नतीजे वाले पेज पर दिखने वाली एंट्री की ज़्यादा से ज़्यादा संख्या. डिफ़ॉल्ट रूप से, इसकी वैल्यू 100 एंट्री होती है. पेज में 250 से ज़्यादा एंट्री नहीं हो सकतीं. ज़रूरी नहीं.
minAccessRole string खोज के नतीजों में दिखने वाली एंट्री में, उपयोगकर्ता के लिए कम से कम ऐक्सेस की भूमिका. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, कोई पाबंदी नहीं होती.

इन वैल्यू का इस्तेमाल किया जा सकता है:
  • "freeBusyReader": उपयोगकर्ता, खाली/व्यस्त होने की जानकारी पढ़ सकता है.
  • "owner": उपयोगकर्ता, इवेंट को पढ़ सकता है और उनमें बदलाव कर सकता है. साथ ही, वह ऐक्सेस कंट्रोल सूचियों को ऐक्सेस कर सकता है.
  • "reader": उपयोगकर्ता, निजी नहीं किए गए इवेंट पढ़ सकता है.
  • "writer": उपयोगकर्ता, इवेंट को पढ़ सकता है और उनमें बदलाव कर सकता है.
pageToken string यह टोकन बताता है कि कौनसा नतीजा पेज दिखाना है. ज़रूरी नहीं.
showDeleted boolean नतीजों में, मिटाई गई कैलेंडर सूची की एंट्री शामिल करनी हैं या नहीं. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होता है.
showHidden boolean छिपी हुई एंट्री दिखानी हैं या नहीं. ज़रूरी नहीं. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होता है.
syncToken string सूची के पिछले अनुरोध के नतीजों के आखिरी पेज पर दिखाए गए nextSyncToken फ़ील्ड से मिला टोकन. इससे, सूची के अनुरोध के नतीजे में सिर्फ़ वे एंट्री शामिल होती हैं जो तब से बदल गई हैं. अगर सिर्फ़ कैलेंडर प्रॉपर्टी या एसीएल जैसे रीड-ओनली फ़ील्ड में बदलाव हुआ है, तो एंट्री नहीं दिखेगी. सूची के पिछले अनुरोध के बाद मिटाई गई और छिपाई गई सभी एंट्री, नतीजों के सेट में हमेशा मौजूद रहेंगी. साथ ही, showDeleted और showHidden, दोनों को False पर सेट करने की अनुमति नहीं है.
क्लाइंट स्टेटस की एक जैसी स्थिति को पक्का करने के लिए, minAccessRole क्वेरी पैरामीटर को nextSyncToken के साथ इस्तेमाल नहीं किया जा सकता.
अगर syncToken की समयसीमा खत्म हो जाती है, तो सर्वर 410 GONE रिस्पॉन्स कोड के साथ जवाब देगा. साथ ही, क्लाइंट को अपना स्टोरेज खाली करना चाहिए और बिना किसी syncToken के पूरा सिंक करना चाहिए.
इंक्रीमेंटल सिंक के बारे में ज़्यादा जानें.
ज़रूरी नहीं. डिफ़ॉल्ट रूप से, सभी एंट्री दिखाने का विकल्प चुना जाता है.

अनुमति देना

इस अनुरोध के लिए, इनमें से कम से कम एक स्कोप के साथ अनुमति देना ज़रूरी है:

दायरा
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.calendarlist
https://www.googleapis.com/auth/calendar.calendarlist.readonly

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

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

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

जवाब

अगर एपीआई सही से जुड़ जाता है, तो यह तरीका इस स्ट्रक्चर के साथ रिस्पॉन्स बॉडी दिखाता है:

{
  "kind": "calendar#calendarList",
  "etag": etag,
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    calendarList Resource
  ]
}
प्रॉपर्टी का नाम मान ब्यौरा नोट
kind string कलेक्शन का टाइप ("calendar#calendarList").
etag etag कलेक्शन का ETag.
nextPageToken string इस नतीजे के अगले पेज को ऐक्सेस करने के लिए इस्तेमाल किया जाने वाला टोकन. अगर कोई और नतीजा उपलब्ध नहीं है, तो इसे हटा दिया जाता है. ऐसे में, nextSyncToken दिया जाता है.
items[] list उपयोगकर्ता के कैलेंडर की सूची में मौजूद कैलेंडर.
nextSyncToken string यह टोकन, बाद में सिर्फ़ उन एंट्री को वापस पाने के लिए इस्तेमाल किया जाता है जो इस नतीजे के मिलने के बाद बदल गई हैं. अगर और नतीजे उपलब्ध हैं, तो इसे हटा दिया जाता है. ऐसे में, nextPageToken दिया जाता है.

उदाहरण

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

Java

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

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.CalendarList;
import com.google.api.services.calendar.model.CalendarListEntry;

// ...

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

// Iterate through entries in calendar list
String pageToken = null;
do {
  CalendarList calendarList = service.calendarList().list().setPageToken(pageToken).execute();
  List<CalendarListEntry> items = calendarList.getItems();

  for (CalendarListEntry calendarListEntry : items) {
    System.out.println(calendarListEntry.getSummary());
  }
  pageToken = calendarList.getNextPageToken();
} while (pageToken != null);

Python

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

page_token = None
while True:
  calendar_list = service.calendarList().list(pageToken=page_token).execute()
  for calendar_list_entry in calendar_list['items']:
    print calendar_list_entry['summary']
  page_token = calendar_list.get('nextPageToken')
  if not page_token:
    break

PHP

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

$calendarList = $service->calendarList->listCalendarList();

while(true) {
  foreach ($calendarList->getItems() as $calendarListEntry) {
    echo $calendarListEntry->getSummary();
  }
  $pageToken = $calendarList->getNextPageToken();
  if ($pageToken) {
    $optParams = array('pageToken' => $pageToken);
    $calendarList = $service->calendarList->listCalendarList($optParams);
  } else {
    break;
  }
}

Ruby

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

page_token = nil
begin
  result = client.list_calendar_lists(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?

इसे आज़माएं!

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