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

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

İstek metni

İstek gövdesinde, aşağıdaki yapıya sahip verileri 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'e göre biçimlendirilmiş sorgu için aralığın başlangıcı.
timeMax datetime RFC3339'e göre biçimlendirilmiş sorgu için aralığın sonu.
timeZone string Yanıtta kullanılan saat dilimi. İsteğe bağlı. Varsayılan ayar 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 ü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 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 (grubun hesaplanması 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 bir nedeni. Olası değerlerden bazıları şunlardır:
  • "groupTooBig": İstenen kullanıcı grubu tek bir sorgu için çok büyük.
  • "tooManyCalendarsRequested": İstenen takvimlerin 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 daha fazla hata türü eklenebilir. Bu nedenle, müşteriler bu listede olmayan ek hata durumlarını zarif bir şekilde ele almalıdır.
groups.(key).calendars[] list Bir gruptaki takvim tanımlayıcılarının listesi.
calendars object Takvimlerin 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 bir nedeni. Olası değerlerden bazıları şunlardır:
  • "groupTooBig": İstenen kullanıcı grubu tek bir sorgu için çok büyük.
  • "tooManyCalendarsRequested": İstenen takvimlerin 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 daha fazla hata türü eklenebilir. Bu nedenle, müşteriler bu listede olmayan ek hata durumlarını zarif bir şekilde ele almalıdır.
calendars.(key).busy[] list Bu takvimin meşgul olarak kabul edilmesi gereken 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.

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