Przejdź do głównej zawartości

Kalendarz Google - PHP

Jak dodać wydarzenia do Kalendarza Google w PHP?

Wprowadzenie

Google Calendar API pozwala na automatyczne dodawanie wydarzeń do kalendarza Google za pomocą PHP. W tym artykule pokażemy dwa sposoby:

  • Uwierzytelnienie użytkownika przez OAuth 2.0
  • Wykorzystanie konta usługi (Service Account)

Metoda 1: OAuth 2.0 – Autoryzacja użytkownika

1. Utworzenie projektu w Google Cloud Console

1. Przejdź do Google Cloud Console.
2. Utwórz nowy projekt lub wybierz istniejący.
3. Włącz Google Calendar API w sekcji API & Services.

2. Konfiguracja danych uwierzytelniających

1. Utwórz dane uwierzytelniające: OAuth 2.0 Client ID.
2. Pobierz plik JSON zawierający klucz autoryzacyjny.

3. Instalacja Google Client Library w PHP

composer require google/apiclient:^2.0

4. Autoryzacja użytkownika

Tworzymy plik auth.php:

<?php
require 'vendor/autoload.php';
session_start();

$client = new Google_Client();
$client->setAuthConfig('credentials.json');
$client->setRedirectUri('http://localhost/oauth2callback.php');
$client->addScope(Google_Service_Calendar::CALENDAR_EVENTS);

if (!isset($_GET['code'])) {
    $auth_url = $client->createAuthUrl();
    header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));
    exit;
} else {
    $client->authenticate($_GET['code']);
    $_SESSION['access_token'] = $client->getAccessToken();
    header('Location: calendar.php');
    exit;
}

5. Dodawanie wydarzenia

Tworzymy plik calendar.php:

<?php
require 'vendor/autoload.php';
session_start();

$client = new Google_Client();
$client->setAuthConfig('credentials.json');
$client->setAccessToken($_SESSION['access_token']);

$service = new Google_Service_Calendar($client);

$event = new Google_Service_Calendar_Event([
    'summary' => 'Spotkanie testowe',
    'start' => ['dateTime' => '2025-02-20T10:00:00', 'timeZone' => 'Europe/Warsaw'],
    'end' => ['dateTime' => '2025-02-20T11:00:00', 'timeZone' => 'Europe/Warsaw'],
]);

$calendarId = 'primary';
$event = $service->events->insert($calendarId, $event);

echo 'Dodano wydarzenie: ' . $event->htmlLink;

Metoda 2: Konto usługi (Service Account)

1. Utworzenie konta usługi

1. W Google Cloud Console wybierz Service Account.
2. Pobierz plik JSON z kluczem autoryzacyjnym.

2. Udostępnienie kalendarza

1. Otwórz Google Calendar → Ustawienia.
2. Dodaj e-mail konta usługi i nadaj mu uprawnienia do edycji.

3. Instalacja biblioteki Google API

composer require google/apiclient:^2.0

4. Dodawanie wydarzenia

<?php
require 'vendor/autoload.php';

$client = new Google_Client();
$client->setAuthConfig('service-account.json');
$client->setScopes(Google_Service_Calendar::CALENDAR_EVENTS);

$service = new Google_Service_Calendar($client);

$event = new Google_Service_Calendar_Event([
    'summary' => 'Automatyczne spotkanie',
    'start' => ['dateTime' => '2025-02-21T09:00:00', 'timeZone' => 'Europe/Warsaw'],
    'end' => ['dateTime' => '2025-02-21T10:00:00', 'timeZone' => 'Europe/Warsaw'],
]);

$calendarId = 'primary';
$event = $service->events->insert($calendarId, $event);

echo 'Dodano wydarzenie: ' . $event->htmlLink;

Podsumowanie

Metoda Kiedy używać? Zalety Wady
OAuth 2.0 Gdy użytkownik dodaje wydarzenia do swojego kalendarza Możliwość dodawania do różnych kont Wymaga logowania
Konto usługi Automatyczne dodawanie do jednego kalendarza (np. firmowego) Nie wymaga logowania Nie można dodać do kalendarzy użytkowników bez ich zgody

Wybór metody zależy od Twoich potrzeb. Jeśli chcesz, aby użytkownicy dodawali wydarzenia do swoich kalendarzy – użyj OAuth 2.0. Jeśli potrzebujesz automatycznego dodawania wydarzeń do jednego kalendarza – wybierz konto usługi.

Powodzenia!

Komentarze

Popularne posty z tego bloga

🔒 Jak wdrożyć HTTPS w Apache za pomocą mkcert – prosta i bezpieczna konfiguracja SSL

Bezpieczeństwo połączenia HTTPS to dziś standard — nawet w sieciach lokalnych i aplikacjach testowych. W tym poradniku pokażę Ci, jak w prosty sposób wdrożyć SSL w Apache z pomocą narzędzia mkcert , które tworzy w pełni zaufane certyfikaty lokalne — bez potrzeby kontaktu z Let’s Encrypt czy urzędami certyfikacji. 🧩 Dlaczego warto używać mkcert? mkcert to lekkie narzędzie, które automatycznie generuje certyfikaty zaufane przez przeglądarkę — bez ostrzeżeń o „niebezpiecznym połączeniu”. ✅ działa w sieci lokalnej, ✅ nie wymaga dostępu do Internetu, ✅ certyfikaty są natychmiast zaufane po instalacji CA, ✅ idealne dla środowisk firmowych i intranetów. ⚙️ Krok 1: Instalacja Apache sudo apt update sudo apt install apache2 -y sudo systemctl enable apache2 sudo systemctl start apache2 Po instalacji otwórz w przeglądarce: http://10.0.0.123 Powinna się wyświetlić strona powitalna Apache. 🔧 Krok 2: Instalacja mkcert sudo apt install libnss3-tools wget...

Polityka wykonawcza skryptów w PowerShellu

Polityka wykonawcza (Execution Policy) w PowerShell – co to jest i jak ją zmienić? PowerShell to potężne narzędzie do automatyzacji i zarządzania systemem Windows. Jednak domyślne ustawienia bezpieczeństwa mogą uniemożliwić uruchamianie skryptów. W tym wpisie wyjaśniam, czym jest polityka wykonawcza (Execution Policy), jak ją sprawdzić i zmienić, aby móc swobodnie korzystać z PowerShell. Czym jest polityka wykonawcza (Execution Policy)? Polityka wykonawcza to mechanizm bezpieczeństwa w PowerShell, który kontroluje, jakie skrypty mogą być uruchamiane na systemie. Ma ona na celu zapobieganie przypadkowemu lub złośliwemu uruchomieniu niebezpiecznych skryptów. Dostępne polityki wykonawcze PowerShell oferuje kilka poziomów polityki wykonawczej: Restricted – domyślna polityka. Blokuje wszystkie skrypty PowerShell. Można uruchamiać tylko polecenia wprowadzane bezpośrednio w konsoli. AllSigned – pozwala na uruchamianie tylko skryptów pod...

Automatyczna instalacja Office przez GPO

Automatyczna instalacja Office przez GPO Wprowadzenie W środowisku firmowym, gdzie wiele komputerów pracuje w domenie, często pojawia się potrzeba automatycznej instalacji pakietu Office na stacjach roboczych. Jednym z najwygodniejszych sposobów realizacji tego zadania jest wykorzystanie polityk grupowych (GPO) oraz skryptów instalacyjnych. W tym artykule przeprowadzimy Cię krok po kroku przez cały proces. Problem z GPO - niepotrzebne ponowne uruchamianie instalacji Podczas konfiguracji polityki GPO do instalacji Office, może wystąpić problem, w którym skrypt uruchamia się za każdym razem podczas logowania . Dzieje się tak dlatego, że skrypt umieszczony w lokalizacji: Konfiguracja komputera -> Zasady -> Ustawienia systemu Windows -> Skrypty (Uruchamianie/Zamykanie) -> Uruchamianie ...będzie wykonywany przy każdym starcie systemu, co powoduje ponowną instalację Office. Jak rozwiązać problem? Trzy skuteczne metody 1. Warunkowe sprawdzenie instalacji Dodaj sprawd...