Przejdź do głównej zawartości

Jak dodać wydarzenie do kalendarza Microsoft za pomocą Graph API

Microsoft Graph API umożliwia integrację z usługami Microsoft 365, w tym z kalendarzem użytkownika. Można tworzyć, aktualizować, usuwać i pobierać wydarzenia w kalendarzu. W tym wpisie przedstawimy przykłady skryptów w PHP i Pythonie do dodania wydarzenia do kalendarza.

1. Przygotowanie aplikacji w Azure AD

Aby uzyskać dostęp do kalendarza, musisz najpierw zarejestrować aplikację w Azure Active Directory. Oto kroki:

  • Wejdź na Azure Portal i zarejestruj aplikację.
  • Uzyskaj identyfikator aplikacji (Client ID) i tajny klucz (Client Secret).
  • Skonfiguruj zakresy uprawnień: Calendars.ReadWrite.

2. PHP Skrypt do dodania wydarzenia do kalendarza Microsoft


 $clientId,
    'client_secret' => $clientSecret,
    'grant_type' => 'client_credentials',
    'scope' => 'https://graph.microsoft.com/.default',
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $tokenUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$token = json_decode($response)->access_token;
curl_close($ch);

// Dodanie wydarzenia
$calendarUrl = "https://graph.microsoft.com/v1.0/users/$userId/calendar/events";
$eventData = [
    'subject' => 'Spotkanie zespołu',
    'body' => [
        'contentType' => 'HTML',
        'content' => 'Omówienie projektu',
    ],
    'start' => [
        'dateTime' => '2025-05-09T09:00:00',
        'timeZone' => 'Europe/Warsaw',
    ],
    'end' => [
        'dateTime' => '2025-05-09T10:00:00',
        'timeZone' => 'Europe/Warsaw',
    ],
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $calendarUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer $token",
    "Content-Type: application/json",
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($eventData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>

3. Python Skrypt do dodania wydarzenia do kalendarza Microsoft


import requests

client_id = 'YOUR_CLIENT_ID'
client_secret = 'YOUR_CLIENT_SECRET'
tenant_id = 'YOUR_TENANT_ID'
user_id = 'USER_ID'

# Uzyskanie tokenu dostępu
token_url = f"https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token"
data = {
    'client_id': client_id,
    'client_secret': client_secret,
    'grant_type': 'client_credentials',
    'scope': 'https://graph.microsoft.com/.default',
}
response = requests.post(token_url, data=data)
token = response.json().get('access_token')

# Dodanie wydarzenia
calendar_url = f"https://graph.microsoft.com/v1.0/users/{user_id}/calendar/events"
event_data = {
    "subject": "Spotkanie zespołu",
    "body": {
        "contentType": "HTML",
        "content": "Omówienie projektu",
    },
    "start": {
        "dateTime": "2025-05-09T09:00:00",
        "timeZone": "Europe/Warsaw",
    },
    "end": {
        "dateTime": "2025-05-09T10:00:00",
        "timeZone": "Europe/Warsaw",
    },
}

headers = {
    "Authorization": f"Bearer {token}",
    "Content-Type": "application/json",
}
response = requests.post(calendar_url, headers=headers, json=event_data)
print(response.json())

4. Podsumowanie

Powyższe skrypty umożliwiają automatyczne dodawanie wydarzeń do kalendarza Microsoft za pomocą Microsoft Graph API. Wystarczy uzupełnić dane autoryzacyjne i uruchomić skrypt w odpowiednim środowisku.

Komentarze

Popularne posty z tego bloga

Generowanie certyfikatów Let's Encrypt w Windows

Jak wygenerować certyfikat Let's Encrypt w systemie Windows? Przewodnik krok po kroku Certyfikaty SSL/TLS są niezbędne do zabezpieczenia komunikacji między użytkownikami a serwerem. Let's Encrypt to darmowa, zaufana organizacja, która umożliwia generowanie certyfikatów SSL w prosty sposób. W tym wpisie pokażemy, jak wygenerować certyfikat Let's Encrypt w systemie Windows za pomocą narzędzia Certbot oraz jakie opcje i alternatywy są dostępne. Krok 1: Zainstaluj Python Certbot wymaga Pythona do działania. Jeśli nie masz go jeszcze zainstalowanego: Pobierz instalator Pythona ze strony python.org . Uruchom instalator i zaznacz opcję "Add Python to PATH" . Krok 2: Zainstaluj Certbot Otwórz wiersz polecenia (cmd) jako administrator. Zainstaluj Certbot za pomocą pip: pip install certbot Krok 3: Wygeneruj certyfikat ...

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

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'); $clie...