Freebusy: query

اطلاعات آزاد/مشغول را برای مجموعه ای از تقویم ها برمی گرداند. الآن امتحانش کن .

درخواست

درخواست HTTP

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

مجوز

این درخواست اجازه مجوز با حداقل یکی از حوزه های زیر را می دهد:

محدوده
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar

برای اطلاعات بیشتر، به صفحه احراز هویت و مجوز مراجعه کنید.

درخواست بدن

در بدنه درخواست، داده ها را با ساختار زیر ارائه دهید:

{
  "timeMin": datetime,
  "timeMax": datetime,
  "timeZone": string,
  "groupExpansionMax": integer,
  "calendarExpansionMax": integer,
  "items": [
    {
      "id": string
    }
  ]
}
نام ملک ارزش شرح یادداشت
timeMin datetime شروع فاصله برای پرس و جو طبق RFC3339 قالب بندی شده است.
timeMax datetime پایان بازه زمانی پرس و جو طبق RFC3339 قالب بندی شده است.
timeZone string منطقه زمانی استفاده شده در پاسخ. اختیاری. پیش فرض UTC است.
groupExpansionMax integer حداکثر تعداد شناسه‌های تقویم برای یک گروه ارائه شود. اختیاری. برای گروهی که تعداد اعضای آن بیشتر از این مقدار باشد، خطایی برگردانده می شود. حداکثر مقدار 100 است.
calendarExpansionMax integer حداکثر تعداد تقویم هایی که قرار است اطلاعات FreeBusy برای آنها ارائه شود. اختیاری. حداکثر مقدار 50 است.
items[] list فهرست تقویم‌ها و/یا گروه‌ها برای پرس و جو.
items[]. id string شناسه یک تقویم یا یک گروه.

واکنش

در صورت موفقیت آمیز بودن، این روش یک بدنه پاسخ با ساختار زیر را برمی گرداند:

{
  "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
        }
      ]
    }
  }
}
نام ملک ارزش شرح یادداشت
kind string نوع منبع ("calendar#freeBusy").
timeMin datetime شروع فاصله.
timeMax datetime پایان فاصله.
groups object گسترش گروه ها
groups. (key) nested object فهرست تقویم هایی که اعضای این گروه هستند.
groups.(key). errors[] list خطا(های) اختیاری (اگر محاسبات گروه ناموفق بود).
groups.(key).errors[]. domain string دامنه یا دسته بندی گسترده خطا.
groups.(key).errors[]. reason string دلیل مشخص برای خطا برخی از مقادیر ممکن عبارتند از:
  • " groupTooBig " - گروه کاربران درخواست شده برای یک پرس و جو خیلی بزرگ است.
  • " tooManyCalendarsRequested " - تعداد تقویم های درخواستی برای یک پرس و جو خیلی زیاد است.
  • " notFound " - منبع درخواستی یافت نشد.
  • " internalError " - سرویس API با یک خطای داخلی مواجه شده است.
ممکن است در آینده انواع خطاهای دیگری اضافه شود، بنابراین مشتریان باید به‌خوبی وضعیت‌های خطای دیگری را که در این لیست گنجانده نشده است، مدیریت کنند.
groups.(key). calendars[] list فهرست شناسه‌های تقویم در یک گروه.
calendars object فهرستی از اطلاعات رایگان/مشغله برای تقویم‌ها.
calendars. (key) nested object برنامه های توسعه آزاد/مشغول برای یک تقویم.
calendars.(key). errors[] list خطا(های) اختیاری (اگر محاسبه برای تقویم ناموفق بود).
calendars.(key).errors[]. domain string دامنه یا دسته بندی گسترده خطا.
calendars.(key).errors[]. reason string دلیل مشخص برای خطا برخی از مقادیر ممکن عبارتند از:
  • " groupTooBig " - گروه کاربران درخواست شده برای یک پرس و جو خیلی بزرگ است.
  • " tooManyCalendarsRequested " - تعداد تقویم های درخواستی برای یک پرس و جو خیلی زیاد است.
  • " notFound " - منبع درخواستی یافت نشد.
  • " internalError " - سرویس API با یک خطای داخلی مواجه شده است.
ممکن است در آینده انواع خطاهای دیگری اضافه شود، بنابراین مشتریان باید به‌خوبی وضعیت‌های خطای دیگری را که در این لیست گنجانده نشده است، مدیریت کنند.
calendars.(key). busy[] list فهرست بازه‌های زمانی که در طی آن این تقویم باید مشغول در نظر گرفته شود.
calendars.(key).busy[]. start datetime شروع (شامل) دوره زمانی.
calendars.(key).busy[]. end datetime پایان (انحصاری) دوره زمانی.

آن را امتحان کنید!

از APIs Explorer زیر برای فراخوانی این روش در داده‌های زنده و دیدن پاسخ استفاده کنید.