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
Prześlij komentarz