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

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

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

Najbardziej przydatne komendy PowerShell dla admina

Administracja lokalną domeną oraz Microsoft 365 Business Standard wymaga efektywnego zarządzania użytkownikami, komputerami, bezpieczeństwem i integracją z chmurą. Oto zestaw kluczowych komend PowerShell, które pomogą w codziennej pracy administratora IT. 🔹 1. Zarządzanie użytkownikami w Active Directory Lista użytkowników w domenie: Get-ADUser -Filter * Dodanie nowego użytkownika: New-ADUser -Name "Jan Kowalski" -UserPrincipalName jan.kowalski@firma.local -AccountPassword (ConvertTo-SecureString "Hasło123!" -AsPlainText -Force) -Enabled $true Resetowanie hasła użytkownika: Set-ADAccountPassword -Identity jan.kowalski -NewPassword (ConvertTo-SecureString "NoweHasło!" -AsPlainText -Force) Dodanie użytkownika do grupy: Add-ADGroupMember -Identity "IT_Admins" -Members jan.kowalski 🔹 2. Zarządzanie komputerami w domenie Lista komputerów w domenie: Get-ADComputer -Filter * Dodanie nowego komputera do domen...