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 kapsamlardan en az biriyle yetkilendirmeye izin verir:

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

Daha fazla bilgi için kimlik doğrulama ve yetkilendirme sayfasına bakın.

İstek içeriği

İstek gövdesinde aşağıdaki yapıya sahip veriler 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 Sorgunun aralığının başlangıcı, RFC3339'a göre biçimlendirilir.
timeMax datetime Sorgunun aralığının sonu, RFC3339'a göre biçimlendirilir.
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 fazla üyesi olan gruplar için hata döndürülür. Maksimum değer 100'dür.
calendarExpansionMax integer Uygun/meşgul bilgisinin 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ıdır.

Yanıt

Başarılı olursa bu yöntem aşağıdaki yapıya sahip bir yanıt metni 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 Aranın başlangıcı.
timeMax datetime Aranı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 için hesaplama başarısız olduysa).
groups.(key).errors[].domain string Hatanın alanı veya geniş kategorisi.
groups.(key).errors[].reason string Hatanın 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 ek hata türleri eklenebilir. Bu nedenle istemciler, bu listede yer almayan ek hata durumlarını düzgün bir şekilde ele almalıdır.
groups.(key).calendars[] list Bir gruptaki takvimlerin tanımlayıcılarının listesi.
calendars object Takvimlerin uygun/meşgul bilgilerinin listesi.
calendars.(key) nested object Tek bir takvim için müsaitlik durumu 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 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 ek hata türleri eklenebilir. Bu nedenle istemciler, bu listede yer almayan ek hata durumlarını düzgün bir şekilde ele almalıdır.
calendars.(key).busy[] list Bu takvimin meşgul olarak kabul edilmesi gereken zaman aralıklarını içeren liste.
calendars.(key).busy[].start datetime Dönemin başlangıcı (dahil).
calendars.(key).busy[].end datetime Dönemin (hariç) bitiş tarihi.

Deneyin!

Canlı verilerde bu yöntemi çağırmak ve yanıtı görmek için aşağıdaki API Gezgini'ni kullanın.