Freebusy: query

Bir takvim grubu için uygun/meşgul bilgilerini döndürür. Şimdi deneyin.

İstek

HTTP isteği

POST https://www.googleapis.com/calendar/v3/freeBusy

Yetkilendirme

Bu istek, aşağıdaki kapsamların en az biriyle yetkilendirmeye izin verir:

Kapsam
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar

Daha fazla bilgi için kimlik doğrulama ve yetkilendirme sayfasına göz atın.

İstek içeriği

İstek gövdesinde, verileri aşağıdaki yapıyla sağlayın:

{
  "timeMin": datetime,
  "timeMax": datetime,
  "timeZone": string,
  "groupExpansionMax": integer,
  "calendarExpansionMax": integer,
  "items": [
    {
      "id": string
    }
  ]
}
Mülk adı Değer Açıklama Notlar
timeMin datetime Sorgu aralığının RFC3339'a göre biçimlendirilmiş aralığı.
timeMax datetime RFC3339'a göre biçimlendirilmiş sorgu aralığının sonu.
timeZone string Yanıtta kullanılan saat dilimi. İsteğe bağlı. Varsayılan değer UTC'dir.
groupExpansionMax integer Tek bir grup için sağlanacak maksimum takvim tanımlayıcısı sayısı. İsteğe bağlı. Bu değerden daha fazla üyesi olan bir grup için hata döndürülür. Maksimum değer 100'dür.
calendarExpansionMax integer FreeBusy bilgilerinin sağlanacağı maksimum takvim sayısı. İsteğe bağlı. Maksimum değer 50'dir.
items[] list Sorgulanacak takvimlerin ve/veya grupların listesi.
items[].id string Bir takvimin veya grubun tanımlayıcısı.

Yanıt

Başarılı olursa bu yöntem aşağıdaki yapıya sahip bir yanıt gövdesi döndürür:

{
  "kind": "calendar#freeBusy",
  "timeMin": datetime,
  "timeMax": datetime,
  "groups": {
    (key): {
      "errors": [
        {
          "domain": string,
          "reason": string
        }
      ],
      "calendars": [
        string
      ]
    }
  },
  "calendars": {
    (key): {
      "errors": [
        {
          "domain": string,
          "reason": string
        }
      ],
      "busy": [
        {
          "start": datetime,
          "end": datetime
        }
      ]
    }
  }
}
Mülk adı Değer Açıklama Notlar
kind string Kaynağın türü ("calendar#freeBusy").
timeMin datetime Aralığın başlangıcı.
timeMax datetime Aralığın sonu.
groups object Grupların genişletilmesi.
groups.(key) nested object Bu grubun üyesi olan takvimlerin listesi.
groups.(key).errors[] list İsteğe bağlı hatalar (grup hesaplaması başarısız olduysa).
groups.(key).errors[].domain string Hatanın alanı veya geniş kategorisi.
groups.(key).errors[].reason string Hatanın belirli nedeni. Olası değerlerden bazıları şunlardır:
  • "groupTooBig": İstenen kullanıcı grubu tek bir sorgu için çok büyük.
  • "tooManyCalendarsRequested": İstenen takvim sayısı tek bir sorgu için çok büyük.
  • "notFound": İstenen kaynak bulunamadı.
  • "internalError" - API hizmeti dahili bir hatayla karşılaştı.
Gelecekte başka hata türleri eklenebileceği için istemcilerin bu listede yer almayan ek hata durumlarını sorunsuz bir şekilde ele alması gerekir.
groups.(key).calendars[] list Bir gruptaki takvimlerin tanımlayıcılarının listesi.
calendars object Takvimler için uygun/meşgul bilgilerinin listesi.
calendars.(key) nested object Tek bir takvim için uygun/meşgul genişletmeleri.
calendars.(key).errors[] list İsteğe bağlı hatalar (takvim hesaplaması başarısız olduysa).
calendars.(key).errors[].domain string Hatanın alanı veya geniş kategorisi.
calendars.(key).errors[].reason string Hatanın belirli nedeni. Olası değerlerden bazıları şunlardır:
  • "groupTooBig": İstenen kullanıcı grubu tek bir sorgu için çok büyük.
  • "tooManyCalendarsRequested": İstenen takvim sayısı tek bir sorgu için çok büyük.
  • "notFound": İstenen kaynak bulunamadı.
  • "internalError" - API hizmeti dahili bir hatayla karşılaştı.
Gelecekte başka hata türleri eklenebileceği için istemcilerin bu listede yer almayan ek hata durumlarını sorunsuz bir şekilde ele alması gerekir.
calendars.(key).busy[] list Bu takvimin meşgul olarak kabul edileceği zaman aralıklarının listesi.
calendars.(key).busy[].start datetime Dönemin (dahil) başlangıcı.
calendars.(key).busy[].end datetime Dönemin (hariç) bitişi.

Deneyin.

Aşağıdaki API Gezgini'ni kullanarak canlı verilerde bu yöntemi çağırın ve yanıtı görün.