Czym jest Google Calendar API
Jak z tym pracować
Istnieje kilka sposobów zastosowania Calendar API v3. Oto kilka z nich.
- Twórz wydarzenia. Kalendarz Google to świetne narzędzie, które pomaga użytkownikom utrzymać porządek. Dzięki niemu możesz na przykład dodać trasę wędrówki jako wydarzenie w kalendarzu i przypominać uczestnikom o nim, aby byli przygotowani bez stresu.
- Powtarzalne wydarzenia. Niektóre wydarzenia pojawiają się wielokrotnie – codzienne spotkania, urodziny lub święta. Zwykle są identyczne i mają ten sam czas rozpoczęcia i zakończenia.
- Synchronizuj zasoby. Możesz utrzymywać dane dla wszystkich kolekcji kalendarzy w synchronizacji, oszczędzając przepustowość.
- Włącz powiadomienia push. Istnieje możliwość użycia powiadomień push, które informują Twoją aplikację, gdy zasób ulega zmianie.
- Synchronizuj zasoby. API Google Calendar pomoże zsynchronizować dane we wszystkich zestawach kalendarzy, jednocześnie ograniczając zużycie pasma.
Google Calendar also uses the following resources to work with:
- Wydarzenie – funkcja kalendarza zawierająca tytuł, czas rozpoczęcia i zakończenia oraz uczestników.
- Kalendarz – zbiór wydarzeń.
- Lista kalendarzy – lista wszystkich kalendarzy w interfejsie Kalendarza
- Ustawienia – preferencja z interfejsu Kalendarza, taka jak strefa czasowa użytkowników.
- ACL – zasada kontroli dostępu, która nadaje użytkownikowi specjalny poziom dostępu do kalendarza.
- Kolor – kolor wyświetlany w interfejsie kalendarza
- Dostępność / Zajętość – okresy, gdy kalendarz ma zaplanowane wydarzenia oznaczone jako „zajęte” lub gdy nie ma żadnych wydarzeń i uznawany jest za „wolny”.
Korzystaj z API Kalendarza
Każde żądanie wysyłane przez Twoją aplikację do Calendar API v3 wymaga tokena autoryzacyjnego. Token ten identyfikuje także aplikację w Google. Aplikacja musi używać OAuth 2.0 do autoryzacji zapytań – inne protokoły autoryzacyjne nie są obsługiwane.
Pamiętaj, że wszystkie wywołania API Kalendarza Google muszą być uwierzytelnione przez zalogowanego użytkownika. Proces autoryzacji różni się w zależności od typu aplikacji, którą posiadasz. Poniższy przebieg pasuje praktycznie do wszystkich typów aplikacji:
- Podczas tworzenia aplikacji zarejestruj ją za pomocą konsoli Google Calendar API. Google przekaże Ci identyfikator klienta i sekret klienta. Będziesz potrzebować tych informacji później.
- Włącz interfejs API Google Calendar w konsoli API. Jeśli nie jest wymieniony na liście, pomiń ten krok.
- Gdy Twoja aplikacja potrzebuje dostępu do danych użytkownika, Google prosi o określony zakres dostępu.
- Następnie Google wyświetla użytkownikowi ekran zgody, prosząc o zezwolenie Twojej aplikacji na dostęp do niektórych ich danych.
- Jeśli użytkownik wyrazi zgodę, Google przydzieli Twojej aplikacji krótkotrwały token dostępu.
- Następnie Twoja aplikacja żąda danych użytkownika i dołącza token do żądania.
- W przypadku uznania Twojego żądania i tokena za ważne, Google zwróci żądane dane.
Czasami mogą być potrzebne dodatkowe kroki, na przykład użycie tokenów odświeżania w celu uzyskania nowych tokenów dostępu. Możesz sprawdzić procesy dla różnych typów aplikacji tutaj.
Jeśli będziesz mieć szczęście i uzyskasz zatwierdzenie, otrzymasz dostęp do dokumentacji API Kalendarza, aby móc rozpocząć rozwój zintegrowanego oprogramowania.
Jeśli potrzebujesz prostego i szybkiego sposobu dodania Kalendarza do swojej strony internetowej, rozważ użycie Event Calendar od Elfsight. Dzięki temu Twoje wydarzenia będą widoczne w SERP Google bez wysiłku.
API Kalendarza: przykłady
Utwórz zdarzenie w Google Calendar API
Aby utworzyć zdarzenie, musisz wywołać metodę events.insert(), podając przynajmniej następujące parametry:
- calendarId – it’s the calendar identifier which can either be an email address of the calendar on which you are to create an event or a special keyword ‘primary’ that will use the primary calendar of the logged in user.
- to wydarzenie do stworzenia z wszystkimi niezbędnymi informacjami, takimi jak czas rozpoczęcia i zakończenia. Jedynymi dwoma wymaganymi polami są tutaj czas rozpoczęcia i zakończenia.
Poniższy przykład ilustruje proces tworzenia wydarzenia i ustawiania jego metadanych:
Przykład: proces tworzenia zdarzenia
// Refer to the JavaScript quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/js
// Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
// stored credentials.
var event = {
'summary': 'Google I/O 2015',
'location': '800 Howard St., San Francisco, CA 94103',
'description': 'A chance to hear more about Google's developer products.',
'start': {
'dateTime': '2015-05-28T09:00:00-07:00',
'timeZone': 'America/Los_Angeles'
},
'end': {
'dateTime': '2015-05-28T17:00:00-07:00',
'timeZone': 'America/Los_Angeles'
},
'recurrence': [
'RRULE:FREQ=DAILY;COUNT=2'
],
'attendees': [
{'email': 'lpage@example.com'},
{'email': 'sbrin@example.com'}
],
'reminders': {
'useDefault': false,
'overrides': [
{'method': 'email', 'minutes': 24 * 60},
{'method': 'popup', 'minutes': 10}
]
}
};
var request = gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': event
});
request.execute(function(event) {
appendPre('Event created: ' + event.htmlLink);
});
API powtarzających się wydarzeń
Te wydarzenia powtarzają się według stałego harmonogramu, na przykład codzienne spotkania, urodziny lub święta. Oto przykład wydarzenia trwającego od 6:00 do 7:00 we wtorki i piątki, zaczynając od 15 września 2015 i kończącego po piątym wystąpieniu 29 września:
Przykład: powtarzające się wydarzenia
...
"start": {
"dateTime": "2015-09-15T06:00:00+02:00",
"timeZone": "Europe/Zurich"
},
"end": {
"dateTime": "2015-09-15T07:00:00+02:00",
"timeZone": "Europe/Zurich"
},
"recurrence": [
"RRULE:FREQ=WEEKLY;COUNT=5;BYDAY=TU,FR"
],
…
A tutaj widać całodniowe wydarzenie, które zaczyna się 1 czerwca 2015 r. i powtarza co 3 dni przez cały miesiąc, z wyłączeniem 10 czerwca, a uwzględniając 9 i 11 czerwca:
Przykład: całodniowe wydarzenie powtarzające się
…
"start": {
"date": "2015-06-01"
},
"end": {
"date": "2015-06-02"
},
"recurrence": [
"EXDATE;VALUE=DATE:20150610",
"RDATE;VALUE=DATE:20150609,20150611",
"RRULE:FREQ=DAILY;UNTIL=20150628;INTERVAL=3"
],
…
Synchronizuj zasoby
Ta metoda pomaga utrzymać dane dla wszystkich zestawów kalendarzy w synchronizacji. Synchronizacja przyrostowa składa się z dwóch etapów:
- Początkowa pełna synchronizacja jest wykonywana na samym początku, aby w pełni zsynchronizować stan klienta i serwera.
- Synchronizacja przyrostowa jest wykonywana wielokrotnie, aktualizując klienta o wszystkie zmiany, które zaszły od poprzedniej aktualizacji.
Oto przykład tokenu synchronizacji:
Przykład: token synchronizacji
// Refer to the JavaScript quickstart on how to setup the environment:
// https://developers.google.com/calendar/quickstart/js
// Change the scope to 'https://www.googleapis.com/auth/calendar' and delete any
// stored credentials.
var event = {
'summary': 'Google I/O 2015',
'location': '800 Howard St., San Francisco, CA 94103',
'description': 'A chance to hear more about Google's developer products.',
'start': {
'dateTime': '2015-05-28T09:00:00-07:00',
'timeZone': 'America/Los_Angeles'
},
'end': {
'dateTime': '2015-05-28T17:00:00-07:00',
'timeZone': 'America/Los_Angeles'
},
'recurrence': [
'RRULE:FREQ=DAILY;COUNT=2'
],
'attendees': [
{'email': 'lpage@example.com'},
{'email': 'sbrin@example.com'}
],
'reminders': {
'useDefault': false,
'overrides': [
{'method': 'email', 'minutes': 24 * 60},
{'method': 'popup', 'minutes': 10}
]
}
};
var request = gapi.client.calendar.events.insert({
'calendarId': 'primary',
'resource': event
});
request.execute(function(event) {
appendPre('Event created: ' + event.htmlLink);
});
Powiadomienia push
Google Calendar API v3 daje możliwość otrzymywania powiadomień push, które umożliwiają monitorowanie zmian w zasobach. Ta funkcja może pomóc w ulepszeniu Twojej aplikacji.
Aby rozpocząć korzystanie z powiadomień push, potrzebujesz trzech rzeczy:
- Zarejestruj domenę adresu URL odbiorcy.
- Skonfiguruj adres URL odbiorcy lub odbiornik wywołań zwrotnych „Webhook”.
- Skonfiguruj kanał powiadomień dla każdego punktu końcowego zasobu, który będziesz monitorować.
Poniższy przykład pokazuje, jak możesz zacząć obserwować zmiany w kolekcji wydarzeń:
Przykład: obserwowanie zmian w zbiorze wydarzeń
POST https://www.googleapis.com/calendar/v3/calendars/my_calendar@gmail.com/events/watch
Authorization: Bearer auth_token_for_current_user
Content-Type: application/json
{
"id": "01234567-89ab-cdef-0123456789ab", // Your channel ID.
"type": "web_hook",
"address": "https://mydomain.com/notifications", // Your receiving URL.
...
"token": "target=myApp-myCalendarChannelDest", // (Optional) Your channel token.
"expiration": 1426325213000 // (Optional) Your requested channel expiration time.
}
Ograniczenia Calendar API
Interfejs Calendar API ma limit 1 000 000 zapytań dziennie. Jeśli chcesz zmienić limity użycia lub zwiększyć przydział, wykonaj następujące kroki:
- Utwórz konto rozliczeniowe, jeśli go nie masz.
- Przejdź do strony Włączone interfejsy API w bibliotece API w Konsoli Google i wybierz API z listy.
- Wybierz Kwoty, aby wyświetlać i zmieniać ustawienia dotyczące limitów.
Możesz również obserwować statystyki użycia w sekcji Użycie.
Są inne widgety, które pomagają korzystać z danych z platformy. Jednym z najbardziej korzystnych dla każdego biznesu jest Google Reviews widget. Ma szeroką funkcjonalność i umożliwia nie tylko osadzanie recenzji Google, ale także tworzenie bogatych fragmentów wyników wyszukiwania.
FAQ (często zadawane pytania)
Czy API Google Calendar jest darmowe?
Tak, korzystanie z Google Calendar API jest bezpłatne. Jednak występują pewne ograniczenia.
Jak mogę utworzyć wydarzenie za pomocą Calendar API?
Aby wywołać zdarzenie, należy użyć metody events.insert(), przekazując calendarId i parametry zdarzenia. Należy także ustawić zakres OAuth na https://www.googleapis.com/auth/calendar i upewnić się, że uwierzytelniony użytkownik ma uprawnienia do zapisu w kalendarzu o podanym calendarId.
Jak mogę uzyskać dane z Kalendarza Google?
Otwórz Kalendarz, a następnie kliknij sekcję „Moje kalendarze”. Wybierz kalendarz, który chcesz wyeksportować, i kliknij „Więcej”. W ustawieniach kalendarza kliknij „Eksportuj kalendarz”. Następnie plik ICS ze zdarzeniami zacznie się pobierać.
Czy mogę automatycznie tworzyć kopię zapasową kalendarza?
Pewnie. Aby to zrobić, otwórz zakładkę Kalendarz, a następnie kliknij „Więcej” i wybierz „Uruchom kopię zapasową” z listy rozwijanej — kopia zapasowa zacznie się automatycznie.
Jak znaleźć API Kalendarza Google?
Przejdź do Konsoli deweloperskiej Google i utwórz nowy projekt. W projekcie przejdź do API i uwierzytelnianie > API w pasku bocznym. Następnie znajdź Calendar API na liście.
Podsumowanie
Jak widzisz, praca z Google Calendar API nie jest trudna — wystarczy kilka prostych kroków. A teraz chcemy poznać Twoje doświadczenia w korzystaniu z tego narzędzia — podziel się przypadkami użycia i pomocnymi wskazówkami w komentarzach!


