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 yetkilendirme sağlar:

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

Daha fazla bilgi edinmek 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 RFC3339'a göre biçimlendirilmiş sorgu aralığının başlangıcı.
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, UTC'dir.
groupExpansionMax integer Tek bir grup için sağlanacak maksimum sayıda takvim tanımlayıcısı. İsteğe bağlı. Bu değerden daha fazla üyeye sahip 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 Kaynak 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 adı 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 fazla.
  • "notFound" - İstenen kaynak bulunamadı.
  • "internalError" - API hizmeti dahili bir hatayla karşılaştı.
Gelecekte başka hata türleri eklenebilir. Bu nedenle, müşteriler bu listede yer almayan ek hata durumlarını da dikkatli bir şekilde ele almalıdır.
groups.(key).calendars[] list Takvim listesi tanımlayıcılardır.
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 adı 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 fazla.
  • "notFound" - İstenen kaynak bulunamadı.
  • "internalError" - API hizmeti dahili bir hatayla karşılaştı.
Gelecekte başka hata türleri eklenebilir. Bu nedenle, müşteriler bu listede yer almayan ek hata durumlarını da dikkatli bir şekilde ele almalıdır.
calendars.(key).busy[] list Bu takvimin meşgul kabul edileceği zaman aralıklarının listesi.
calendars.(key).busy[].start datetime Dönem başlangıcı.
calendars.(key).busy[].end datetime Dönem sonu.

Deneyin!

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