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

API SHOPER

Jak korzystać z API Shoper - Kompletny przewodnik 1. Wprowadzenie API Shoper umożliwia zautomatyzowanie wielu operacji w Twoim sklepie internetowym, takich jak zarządzanie produktami, zdjęciami, zamówieniami i wieloma innymi elementami. W tym artykule pokażę Ci krok po kroku, jak połączyć się z API Shoper oraz wykonać podstawowe operacje, takie jak dodawanie produktów, zarządzanie zdjęciami i przypisywanie produktów powiązanych. 2. Autoryzacja - Uzyskanie Access Token Aby korzystać z API Shoper, najpierw musisz uzyskać access token : POST https://twojsklep.shoper.pl/webapi/oauth/token Content-Type: application/x-www-form-urlencoded grant_type=client_credentials&client_id=TWOJE_CLIENT_ID&client_secret=TWOJE_CLIENT_SECRET Przykład w PHP: <?php $client_id = 'TWOJE_CLIENT_ID'; $client_secret = 'TWOJE_CLIENT_SECRET'; $ch = curl_init('https://twojsklep.shoper.pl/webapi/oauth/token'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch...

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...