Google Calendar API Servisinden Tatil Günlerini Almak

Çalıştığım projede yıllık bazda tatil günlerini almam gerekiyordu. Bunu manuel yapmak yerine güncel bir servis üzerinden çekmek daha sürdürülebilir geldiği için Google Calendar API’sini kullandım. Tek bir servise API key parametresi göndererek ilgili JSON datasını çekebilirsiniz.

Öncelikle Google Console‘dan proje oluşturup Google Calendar API‘sini aktif etmeniz gerekiyor. Aşağıdaki linkten Google Console sayfasına ulaşabilirsiniz ve API’yi aktif edip keyi alabilirsiniz.

https://console.cloud.google.com/

curl --location --request GET 'https://www.googleapis.com/calendar/v3/calendars/tr.turkish%23holiday@group.v.calendar.google.com/events?key=[API_KEY]' \
--header 'Content-Type: application/json; charset=utf-8'
{
    "kind": "calendar#events",
    "etag": "\"123\"",
    "summary": "Türkiye'deki Tatiller",
    "updated": "2022-07-25T13:41:56.000Z",
    "timeZone": "UTC",
    "accessRole": "reader",
    "defaultReminders": [],
    "nextSyncToken": "",
    "items": [
      {
            "kind": "calendar#event",
            "etag": "\"3259965051556000\"",
            "id": "20210423_6d7gcjt9mjvl8jmt96ogf5ne68",
            "status": "confirmed",
            "htmlLink": "https://www.google.com/calendar/event?eid=MjAyMTA0MjNfNmQ3Z2NqdDltanZsOGptdDk2b2dmNW5lNjggdHIudHVya2lzaCNob2xpZGF5QHY",
            "created": "2021-08-26T12:55:25.000Z",
            "updated": "2021-08-26T12:55:25.778Z",
            "summary": "Ulusal Egemenlik ve Çocuk Bayramı",
            "description": "Resmi tatil",
            "creator": {
                "email": "tr.turkish#holiday@group.v.calendar.google.com",
                "displayName": "Türkiye'deki Tatiller",
                "self": true
            },
            "organizer": {
                "email": "tr.turkish#holiday@group.v.calendar.google.com",
                "displayName": "Türkiye'deki Tatiller",
                "self": true
            },
            "start": {
                "date": "2021-04-23"
            },
            "end": {
                "date": "2021-04-24"
            },
            "transparency": "transparent",
            "visibility": "public",
            "iCalUID": "20210423_6d7gcjt9mjvl8jmt96ogf5ne68@google.com",
            "sequence": 0,
            "eventType": "default"
        },
     ...
     ...
    ]

Tüm tatil günleri items dizisinde dönmektedir. Bu dizi altındaki kullanabileceğiniz genel alanlar;

  • summary: Tatil Adı (Ramazan Bayramı vb.)
  • start altındaki date: Tatil başlangıç tarihi
  • end altındaki date: Tatil bitiş tarihi

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.