Microsoft Graph API E-mail: Wysyłanie, Odczytywanie i Synchronizacja (Przewodnik na 2026)

Microsoft Graph API

Microsoft Graph API E-mail: Kompletny przewodnik po integracji dla Deweloperów (2026)

18 minut czytania 17 kwietnia 2026 Python / Node.js / REST

Interfejs API Microsoft Graph to ujednolicony punkt końcowy REST do uzyskiwania dostępu do danych poczty e-mail programu Outlook i Exchange: odczytywania, wysyłania, wyszukiwania oraz odbierania webhooków dla wszystkich zdarzeń skrzynek pocztowych. Ten przewodnik przeprowadzi Cię przez konfigurację protokołu OAuth 2.0, przykłady kodu na żywo, limity przesyłu danych oraz sposoby integracji Microsoft Graph z usługami Gmail i IMAP w ramach jednego zestawu SDK.

Microsoft Graph API OAuth 2.0 Outlook Email MSAL Webhooks
read_outlook_emails.py
import żądania # Zunifikowane API poczty e-mail Unipile # Odczytuje e-maile z Outlooka przez Microsoft Graph BAZA = "https://api.unipile.com:13465/api/v1" NAGŁÓWKI = { "X-API-KEY": "TWÓJ_TOKEN_DOSTĘPU", "Akceptuj": "application/json" } def pobierz_maile_outlook(identyfikator_konta, limit=20): r = żądania.uzyskać( f"{BAZA}/maile", headers=HEADERS, parametry={ "account_id": identyfikator_konta, "limit"limit } ) return r.json()["e-maile"] e-maile = pobierz_maile_outlook("acc_outlook_123") dla e w e-maile: print(e["temat"], e["od"])
20 e-maili pobranych z Outlook - przez Microsoft Graph
Współpracuje z: Logo Outlook Logo Gmail Logo IMAP
Tworzysz integrację poczty e-mail?

Czytaj nasze Kompletny przewodnik po API E-mail Przepływy OAuth, synchronizacja, wysyłanie i porównanie dostawców.

Definicja

Czym jest Microsoft Graph API dla poczty e-mail?

Microsoft Graph API to ujednolicona brama REST dla wszystkich usług Microsoft 365, w tym poczty e-mail, kalendarza, kontaktów i plików. Specjalnie dla poczty e-mail, udostępnia ona /v1.0/me/wiadomości endpoint, zapewniający programistyczny dostęp do każdej skrzynki pocztowej Outlook i Exchange. Zastąpił starsze protokoły (Basic Auth, EWS) i jest obecnie jedynym oficjalnie obsługiwanym sposobem programowego dostępu do poczty Outlook przy użyciu protokołu OAuth 2.0.

Definicja dewelopera

The Microsoft Graph API dla poczty e-mail czy interfejs RESTful udostępnia dane skrzynek pocztowych Microsoft 365 – w tym wiadomości, foldery, załączniki i ustawienia skrzynki pocztowej – w ramach https://graph.microsoft.com/v1.0/me/messages endpoint. Uwierzytelnia się za pomocą Azure Active Directory OAuth 2.0, obsługuje uprawnienia delegowane i aplikacyjne oraz umożliwia zdarzenia w czasie rzeczywistym za pośrednictwem zmień subskrypcje powiadomień (webhooks). Jest to zalecany zamiennik dla wszystkich przestarzałych przepływów uwierzytelniania podstawowego.

Microsoft Graph API to zalecana wymiana Dla przestarzałego uwierzytelniania podstawowego — cały dostęp do poczty e-mail w programie Outlook i Exchange wymaga teraz OAuth 2.0 przez Graph. Uwierzytelnianie podstawowe zostało w pełni wycofane w październiku 2022 r.

Kryterium Microsoft Graph API Bezpośredni SMTP / IMAP
Uwierzytelnianie OAuth 2.0 (MSAL) Nazwa użytkownika + hasło (przestarzałe)
Limity stawek 10 000 zapytań / 10 min na aplikację Brak standardowego limitu (zależny od serwera)
Cechy Pełny: odczyt, wyślij, szukaj, webhooks, foldery Ograniczony: tylko podstawowe wysyłanie/odbieranie
Złożoność Przepływ OAuth + Rejestracja aplikacji Azure Niskie koszty początkowe, wysokie koszty utrzymania
Wsparcie dla Unipile Natywny - nie ma potrzeby stosowania przepływu OAuth Natywne - awaryjne IMAP
Zalety

Dlaczego warto używać Microsoft Graph API do integracji poczty e-mail?

Tworzenie aplikacji w oparciu o Microsoft Graph zapewnia bezpieczny, oparty na tokenach dostęp do największego na świecie ekosystemu poczty e-mail dla przedsiębiorstw – ponad 400 milionów skrzynek pocztowych Outlook i Exchange. Oto cztery główne powody, dla których deweloperzy wybierają punkt końcowy poczty e-mail interfejsu API Microsoft Graph.

Ujednolicone uwierzytelnianie OAuth 2.0

Jedna rejestracja aplikacji Azure obejmuje wszystkie skrzynki pocztowe Outlook, Exchange i Microsoft 365. Uprawnienia delegowane pozwalają użytkownikom na jednokrotne wyrażenie zgody; uprawnienia aplikacji umożliwiają nieinterakcyjny dostęp po stronie serwera bez jakiejkolwiek interakcji użytkownika.

Pełny Dostęp do Skrzynki Pocztowej

Czytaj, wysyłaj, odpowiadaj, przenoś i usuwaj wiadomości. Zarządzaj folderami, przeszukuj całą skrzynkę odbiorczą, obsługuj załączniki i ustawiaj reguły poczty - wszystko za pośrednictwem tego samego interfejsu REST z przewidywalnym schematem odpowiedzi w formacie JSON.

Webhooki działające w czasie rzeczywistym

Subskrybuj powiadomienia o zmianach w skrzynce pocztowej i otrzymuj żądanie HTTP POST na swój punkt końcowy za każdym razem, gdy nadejdzie nowa wiadomość e-mail, wiadomość zostanie odczytana lub zmieni się folder. Brak odpytywania, brak opóźnień - zdarzenia dostarczane w czasie zbliżonym do rzeczywistego.

Wsparcie Techniczne Exchange, Outlook i M365

Jedno rozwiązanie API obejmuje osobiste konta Outlook, firmowe środowiska Microsoft 365 oraz serwery Exchange zainstalowane lokalnie (poprzez hybrydę). Jedna integracja obsługuje cały ekosystem poczty Microsoft bez konieczności pisania oddzielnych ścieżek kodu.

Konfiguracja Microsoft OAuth dla API Outlook - Unipile

Konfiguracja uwierzytelniania Microsoft OAuth dla interfejsu API programu Outlook

Dokumentacja Microsoft OAuth

Domyślnie Twoja integracja wykorzystuje dane uwierzytelniające OAuth firmy Unipile. Aby uzyskać pełne doświadczenie marki białej etykiety Kiedy użytkownicy końcowi łączą swoje konto Microsoft, stwórz własną aplikację w Microsoft Entra ID. Postępuj zgodnie z 7 kroków poniżej aby zarejestrować aplikację, skonfigurować uprawnienia i połączyć ją z Unipile.

1
2
3
4
5
6
7
01

Utwórz konto Microsoft Entra ID

Jeśli jeszcze go nie masz, załóż bezpłatne Microsoft Entra ID konto (wcześniej Azure Active Directory). Jest to portal administracyjny, w którym zarejestrujesz swoją aplikację OAuth.

02

Zarejestruj nową aplikację w Azure Portal

Zaloguj się do portal.azure.com, idź do Microsoft Entra ID, i kliknij Nowa rejestracja.

  • Nazwij swoją aplikację: Ta nazwa będzie widoczna dla Twoich użytkowników końcowych na ekranie zgody OAuth.
  • Obsługiwane typy kont: wybierz "Konta w dowolnym katalogu organizacyjnym (dowolny Microsoft Entra ID, wielodzierżawowy) oraz osobiste konta Microsoft", aby obsługiwać zarówno służbowe, jak i osobiste konta Office 365.
Usługa Azure Active Directory
Rejestracja nowej aplikacji
03

Dodaj adresy URI przekierowań

Idź do Uwierzytelnianie panel i kliknij Dodaj URI w sekcji Sieć. Dodaj 2 URLe przekierowania za pomocą Twojego DSN Unipile (dostępnego w Unipile Dashboard, górny prawy róg):

https://{{YOUR_DSN}}/api/v1/hosted/microsoft_auth_request_callback
https://{{YOUR_DSN_less_port}}/api/v1/hosted/microsoft_auth_request_callback/port{{YOUR_PORT}}
04

Konfiguracja uprawnień API

Idź do Uprawnienia API > Dodaj uprawnienie > Microsoft Graph, następnie dodaj następujące Uprawnienia delegowane:

Mail.Read
Mail.ReadWrite
Mail.Send

Dla funkcji Kalendarza dodaj również: Calendars.ReadWrite, Calendars.Read, Calendars.Read.Shared, Calendars.ReadWrite.Shared. Dodaj je również w ustawieniach zakresów w Twoim panelu Unipile.

Dodaj uprawnienie API
Wybierz Microsoft Graph
Dodaj uprawnienia delegowane
Ekran Uprawnień Aplikacji
05

Utwórz sekret klienta

Idź do Certyfikaty i sekrety, kliknij Nowy klucz tajny klienta. Nazwij tajemnicę i ustaw datę wygaśnięcia 730 dni (24 miesiące), następnie kliknij "Dodaj".

Ważne: Skopiuj sekretną wartość natychmiast. Nie będziesz mógł jej później pobrać z tej strony. Ustaw przypomnienie w kalendarzu przed wygaśnięciem, aby uniknąć przerw w świadczeniu usług.
Nowy klucz tajny klienta
Ustaw datę ważności
Skopiuj Tajną Wartość
06

Połączenie z Unipile Dashboard

Idź do Unipile Dashboard, nawiguj do Ustawienia > Microsoft OAuth.

  • Wklej Identyfikator aplikacji (klienta) ze strony Przegląd platformy Azure.
  • Wklej tajna wartość ze strony Certyfikaty i wpisy tajne.
  • Kliknij Zapisz.
Jesteś teraz gotów do połączenia kont Microsoft z Unipile. Twoi użytkownicy końcowi zobaczą nazwę Twojej aplikacji i logo na ekranie zgody OAuth.
07

Sprawdź połączenie

Z poziomu panelu Unipile Dashboard wyzwól nowe połączenie konta Microsoft, aby sprawdzić, czy Twoje niestandardowe poświadczenia OAuth działają poprawnie. Powinieneś zobaczyć swoje nazwa aplikacji oraz branding w monicie o zgodę Microsoftu zamiast domyślnych opcji Unipile.

Microsoft Consent Prompt with Verified Publisher
Opcjonalnie, dla aplikacji produkcyjnych
8
Zostań zweryfikowanym wydawcą
Zalecane do produkcji, usuwa ostrzeżenie "niezweryfikowane" na ekranie zgody

Po weryfikacji, w monicie o zgodę pojawi się niebieski znaczek. Bez niej, konta profesjonalne mogą zobaczyć ostrzeżenie "niezweryfikowany wydawca".

Krok 1: Dołącz do sieci Microsoft Partner Network

Krok 2: Zweryfikuj swoją domenę

Utwórz plik o nazwie microsoft-identity-association.json i udostępnij je na:

https://yourdomain.com/.well-known/microsoft-identity-association.json

Krok 3: Połącz swoje Partner Global Account (PGA) ID

  • Znajdź swój identyfikator PGA poprzez Centrum partnerskie.
  • W Azure Portal przejdź do Rejestracje aplikacji > Twoja aplikacja > Branding i właściwości, wprowadź identyfikator PGA i zapisz.

Po więcej szczegółów, patrz Dokumentacja weryfikacji Microsoft Publisher.

9
Wymagana zgoda administratora"
Gdy użytkownicy końcowi zobaczą blok zgody od administratora IT

Jeśli użytkownik widzi komunikat "Wymagana zgoda administratora", zgoda nie została udzielona na poziomie dzierżawy. Dwie metody rozwiązania tego problemu:

Metoda 1: Żądanie zgody administratora w Microsoft Entra

Administrator firmy Microsoft musi przejrzeć i zatwierdzić oczekujące żądanie zgody administratora. Zobacz Dokumentacja Microsoft dotycząca przeglądania próśb o zgodę administratora.

Metoda 2: Logowanie OAuth jako administrator z zgodą całego obszaru dzierżawy

  • Administrator rozpoczyna przepływ logowania OAuth z Twojej aplikacji.
  • Podczas autoryzacji Microsoft administrator musi zaznaczyć: "Zgoda w imieniu Państwa organizacji".
  • Wyraża to zgodę dla wszystkich użytkowników w organizacji i zapobiega wyświetlaniu monitu dla przyszłych użytkowników.

Szczegółowe informacje w Przewodnik rozwiązywania problemów z zgodą firmy Microsoft.

Przypadki użycia

Microsoft Graph API - Zastosowania poczty e-mail

Punkt końcowy poczty e-mail Microsoft Graph API zasila szeroką gamę aplikacji SaaS, które opierają się na skrzynkach pocztowych Outlook i Exchange. Oto trzy najczęstsze wzorce integracji stosowane dziś przez zespoły budujące na Graph API.

CRM - Synchronizacja kontaktów i poczty e-mail

Synchronizuj wątki e-maili i kontakty z Outlooka bezpośrednio do swojego CRM. Dopasuj nadawców do istniejących rekordów transakcji, automatycznie rejestruj każdą rozmowę i prezentuj historię relacji bez ręcznego kopiowania i wklejania z Outlooka.

Przewodnik po interfejsie API poczty e-mail
ATS - System Śledzenia Kandydatów

Śledź wątki e-maili kandydatów w skrzynkach odbiorczych programu Outlook. Parsuj przychodzące e-maile z aplikacjami, wyodrębniaj załączniki i kieruj je do właściwego potoku pracy - wszystko za pośrednictwem punktu końcowego e-mail interfejsu Microsoft Graph API bez żadnej interwencji ręcznej.

API wysyłania wiadomości e-mail
Narzędzia wsparcia - Kierowanie zgłoszeń

Przekształcaj przychodzące wiadomości e-mail z Outlooka w zgłoszenia serwisowe. Użyj Graph webhooks do odbierania zdarzeń dotyczących nowych wiadomości e-mail w czasie rzeczywistym, klasyfikuj według tematu lub domeny nadawcy i kieruj do odpowiedniej kolejki zespołu – zastępując ręczne sortowanie zautomatyzowaną logiką.

Zunifikowane API do obsługi poczty e-mail
Cechy

Kluczowe funkcje interfejsu API Microsoft Graph dla poczty e-mail

Interfejs API Microsoft Graph dla poczty e-mail udostępnia wszechstronny zestaw funkcji, daleko wykraczających poza podstawowe wysyłanie i odbieranie. Oto sześć najważniejszych funkcji, które każdy deweloper powinien znać przed rozpoczęciem pracy na platformie Microsoft Graph API e-mail.

Czytaj, wysyłaj i odpowiadaj

Pobierz poszczególne wiadomości lub listy stronicowane. Wysyłaj nowe e-maile lub odpowiadaj inline. Przenieś wiadomości między folderami lub oznacz jako przeczytane/nieprzeczytane.

GET /v1.0/me/wiadomości
Załączniki

Przesyłaj, pobieraj i listuj załączniki plików w dowolnej wiadomości. Obsługuje załączniki wbudowane (inline) oraz przesyłanie dużych plików za pomocą sesji przesyłania dla plików powyżej 3 MB.

GET /v1.0/moi/wiadomości/{id}/załączniki
Foldery i etykiety

Twórz, zmieniaj nazwy i usuwaj foldery poczty. Wymieniaj wszystkie foldery poczty, przenoś wiadomości między nimi i zarządzaj hierarchiami podfolderów, identycznie jak w Outlooku.

GET /v1.0/ja/folderyPoczty
Szukaj i filtruj

Użyj parametrów zapytania OData ($filtr,$wyszukaj, $sortuj wg), aby znaleźć wiadomości e-mail według nadawcy, tematu, zakresu dat lub słowa kluczowego. Obsługuje język KQL do zaawansowanego wyszukiwania pełnotekstowego.

GET /ja/wiadomości?$wyszukiwanie="projekt"
Subskrypcje webhooków

Subskrybuj powiadomienia o zmianach dla zdarzeń skrzynek pocztowych. Otrzymuj wywołania zwrotne HTTP POST w czasie zbliżonym do rzeczywistego, gdy nowe e-maile przybędą, wiadomości zostaną odczytane lub foldery się zmienią.

POST /v1.0/subskrypcje
Zestawy żądań

Połącz do 20 indywidualnych żądań Graph API w jednym wywołaniu HTTP za pomocą punktu końcowego $batch. Znacząco redukuje liczbę podróży w obie strony dla operacji takich jak masowe odczyty wiadomości e-mail.

POST /v1.0/$paczka
Przykłady kodu

Jak wysyłać, czytać i synchronizować wiadomości e-mail za pomocą Microsoft Graph API

Trzy gotowe do użycia wzorce obejmujące kluczowe operacje, których potrzebuje każdy programista: wysyłanie wiadomości e-mail, odczytywanie wiadomości z filtrami oraz przyrostowa synchronizacja różnicowa do monitorowania skrzynki pocztowej w czasie rzeczywistym.

POST /v1.0/me/sendMail — Python przez Unipile
wyślij_outlook_email.py
import żądania # Zunifikowane API poczty e-mail Unipile # Wysyła przez Microsoft Graph — nie jest wymagany bezpośredni OAuth BAZA = "https://api.unipile.com:13465/api/v1" NAGŁÓWKI = { "X-API-KEY": "TWÓJ_TOKEN_DOSTĘPU", "Content-Type": "application/json" } def wyslij_email_outlook(identyfikator_konta, do, temat, treść): ładunek = { "account_id": identyfikator_konta, "do": [{"identyfikator": do}], "temat"temat, "ciało"ciało } r = żądania.stanowisko(f"{BASE}/emaile", nagłówki=nagłówki, json=ładunek return r.json() # Przykład użycia wyslij_email_outlook( "acc_outlook_123", do="recipient@company.com", podmiot="Spotkanie podsumowujące", ciało="Cześć, w nawiązaniu do naszej rozmowy..." )
E-mail wysłany za pośrednictwem Microsoft Graph — konto Outlook acc_outlook_123
Bezpośredni odpowiednik w interfejsie Graph API: POST https://graph.microsoft.com/v1.0/me/sendMail z message.doOdbiorcow, Temat wiadomościoraz wiadomosc.cieło.zawartosc. Unipile abstrahuje odświeżanie tokenów OAuth i obsługę MIME. Zobacz Przewodnik po API do wysyłania wiadomości e-mail do obsługi załączników i wątków odpowiedzi.
Filtruj, wybieraj, paginuj zapytania `/v1.0/me/messages`
read_outlook_emails.py
import żądania # Czytaj e-maile z Outlooka z filtrami przez Unipile BAZA = "https://api.unipile.com:13465/api/v1" NAGŁÓWKI = {"X-API-KEY": "TWÓJ_TOKEN_DOSTĘPU"} def lista_meili_outlook(identyfikator_konta, filtr_nadawcy=Brak, limit=20): parametry = { "account_id": identyfikator_konta, "limit"limit } jeśli filtr_nadawcy: # Mapuje się na $filtr=from/emailAddress/address eq '...' parametry["od"] = filtr_nadawcy r = żądania.uzyskać(f"{BASE}/emaile", nagłówki=Nagłówki, parametry=parametry return r.json().pobierz("przedmioty", []) # Pobierz ostatnie 20 e-maili od konkretnego nadawcy e-maile = lista_meili_outlook("acc_outlook_123", filtr_nadawcy="hr@acme.com") dla e w e-maile: print(e["temat"], e["od"], e["data"])
20 wiadomości pobranych z Outlooka — filtrowane według domeny nadawcy
Filtry OData obsługiwane natywnie: $filtr, $wyszukiwanie, $wybierz, $sortuj według, $góra. Użyj $wyszukiwanie="temat:faktura" Dla pełnego przeszukiwania tekstu KQL. Załączniki powyżej 3 MB wymagają sesja przesyłania (POST /utwórzSesjęPrzesyłania) — żadne żądanie wieloczęściowe.
GET /v1.0/me/mailFolders/inbox/messages/delta — synchronizacja przyrostowa
delta_sync_outlook.py
import żądania # Delta Sync — pobieraj tylko nowe wiadomości e-mail od ostatniej synchronizacji # Unipile automatycznie zarządza cyklem życia deltaToken BAZA = "https://api.unipile.com:13465/api/v1" NAGŁÓWKI = {"X-API-KEY": "TWÓJ_TOKEN_DOSTĘPU"} def sync_nowe_wiadomości(identyfikator_konta, kursor=Nie ma: """ Zwraca tylko e-maile otrzymane od ostatniego wywołania. cursor = nieprzezroczysty token paginacji (przechowywany między wywołaniami). """ parametry = {"account_id": identyfikator_konta} jeśli kursor parametry["kursor"] = kursor r = żądania.uzyskać(f"{BASE}/emails/synchronizacja", nagłówki=Nagłówki, parametry=parametry dane = r.json() return data.get("przedmioty", []), danych.get("kursor") # Pierwsza synchronizacja – brak kursora e-maile, następny_wskaźnik = sync_nowe_wiadomości("acc_outlook_123") # Przechowaj next_cursor w swojej bazie danych, użyj go do kolejnych wywołań print(f"{len(emails)} nowych wiadomości — następny znacznik zapisany")
Synchronizacja Delta ukończona — zmarnowano 0 wywołań API na wiadomości, które już zostały przetworzone
Jak działa delta natywnie w Graph: GET /me/mailFolders/inbox/messages/delta zwraca @odata.deltaLink przy pierwszym wywołaniu. Zapisz go i użyj następnym razem — Graph zwraca tylko różnicę. Nie mogę pobrać wiadomości, skrzynka pocztowa jest pełna = 10x mniej wywołań API w porównaniu do standardowych GET /komunikaty. Unipile's /poczta/synchronizacja endpoint obejmuje ten wzorzec z automatycznym zarządzaniem tokenami.
Czas rzeczywisty

Microsoft Graph API Webhooki dla zdarzeń e-mail

Subskrypcje Microsoft Graph (webhooki) pozwalają serwerowi otrzymywać powiadomienia HTTP POST w momencie nadejścia wiadomości e-mail, jej odczytania, przeniesienia lub usunięcia. Poniżej znajduje się kompletny przykład w języku Python do subskrybowania zdarzeń w skrzynce odbiorczej, a także szczegóły dotyczące zarządzania cyklem życia.

Subskrypcja webhooka usługi Graph ma dwa wymagane pola: zmienTyp (jakie wydarzenia obejrzeć) i notificationUrl Twój punkt końcowy protokołu HTTPS. Firma Microsoft wysyła tokenWeryfikacyjny parametr zapytania przy pierwszej subskrypcji. Twój punkt końcowy musi go zwrócić jako zwykły tekst w ciągu 10 sekund, aby potwierdzić własność.

Subskrypcje grafów wygasają po maksymalnie 4230 minut (~3 dni) dla zasobów pocztowych. Twój serwer musi odnowić się przed wygaśnięciem poprzez PATCH /v1.0/subskrypcje/{id} inaczej przestaniesz otrzymywać powiadomienia w sposób ukryty.

1 Powiadomienia o cyklu życia
Microsoft Graph wysyła powiadomienia o cyklu życia do oddzielnego lifecycleNotificationUrl gdy subskrypcja ma się zakończyć lub została unieważniona. Twój serwer musi odpowiedzieć kodem HTTP 202 w celu potwierdzenia. Brak odpowiedzi powoduje zakończenie subskrypcji.
2 validationToken Handshake
Po wysłaniu żądania POST do /v1.0/subscriptions, Microsoft natychmiast wywoła Twój adres notificationUrl żądaniem GET zawierającym ?tokenWeryfikacyjny=XXX. Musisz zwrócić token jako zwykły tekst (Content-Type: text/plain) z kodem HTTP 200 w ciągu 10 sekund. Przekroczenie czasu spowoduje błąd tworzenia subskrypcji.
3 Wygaśnięcie subskrypcji
Subskrypcje poczty e-mail wygasają po maksymalnie 4230 minutach. Użyj zadania w tle lub crona, aby zaktualizować (PATCH) dataWygasniecia zanim wygaśnie. Można również odtworzyć subskrypcję od zera. Microsoft nie pobiera dodatkowych opłat za odnowienia.
create_subscription.py
import żądania, data i czas TOKEN_DOSTĘPU = "TWÓJ_TOKEN_GRAFU" PUNKT KOŃCOWY = "https://graph.microsoft.com/v1.0/subskrypcje" # Wygasa: maksymalnie 4230 min od teraz dla zasobów pocztowych data ważności = ( datetime.datetime.aktualny czas UTC() + datetime.timedelta(minuty=4200) ).isoformat() + "Z" ładunek = { "zmianaTypu": "stworzone", "urlPowiadomienia": "https://twojadomena.com/webhook", "zasób": "me/mailFolders('Skrzynka odbiorcza')/messages", "dataWaznosci": wygaśnięcie, "stanKlienta": "mójTajnyStan" } r = żądania.stanowisko( PUNKT KOŃCOWY, json=ładunek, nagłówki={ "Autoryzacja": Bearer {ACCESS_TOKEN}", "Content-Type": "application/json" } ) print(r.json()["id"]) # sub_xxxxxxxx-xxxx-xxxx-xxxx
201 Utworzono, subskrypcja aktywna dla zdarzeń skrzynki odbiorczej
Unipile

Pomiń Złożoność – Użyj Zunifikowanego API E-mailowego Unipile

Połącz Microsoft Graph, Gmail i IMAP za pomocą jednego pakietu SDK. Bez przepływów OAuth dla poszczególnych dostawców, bez logiki odświeżania tokenów, bez infrastruktury webhooków do utrzymania. Twój zespół wdraża funkcje poczty e-mail w ciągu dni, a nie tygodni.

Start za darmo

Karta kredytowa nie jest wymagana. Zgodność z SOC 2 typu II.

Limity

Limity szybkości i obsługa błędów interfejsu API Microsoft Graph

Punkt końcowy poczty e-mail interfejsu API Microsoft Graph stosuje ograniczanie na wielu poziomach: na użytkownika, na aplikację i na dzierżawcę. Zrozumienie tych limitów przed wdrożeniem produkcyjnym zapobiega cichym awariom i obniżonej niezawodności integracji.

Gdy jest ograniczony, Microsoft Graph zwraca HTTP 429 Zbyt wiele żądań with a Ponów-Po nagłówek określający czas oczekiwania w sekundach. Zawsze odczytaj ten nagłówek i odpowiednio zareaguj – nachalne próby po otrzymaniu kodu 429 wydłużą okno ograniczania, a nie je skrócą.

Kod HTTP Nazwa błędu Przyczyna Naprawić
429 ZbytWieleŻądań Przekroczono limit żądań (10 000 żądań / 10 min na aplikację lub 1 000 żądań / 1 min na użytkownika) Przeczytaj nagłówek Retry-After. Zaimplementuj wykładnicze wycofywanie. Użyj wsadowego $do łączenia żądań.
401 Nieautoryzowany Token dostępu wygasł lub brakuje nagłówka autoryzacji Odświeżanie tokenu za pomocą MSAL. Sprawdzanie wygaśnięcia tokenu przed każdym żądaniem. Używanie pamięci podręcznej tokenów.
403 Zakazane Brak uprawnienia Mail.Read lub Mail.Send w rejestracji aplikacji Azure Dodaj wymagane uprawnienia wykresu w Azure Portal i ponownie wyraź zgodę (lub poproś o zgodę administratora dla uprawnień aplikacji).
404 Nie znaleziono zasobu Identyfikator wiadomości lub folderu nie istnieje (usunięty lub z niewłaściwej dzierżawy) Weryfikuj identyfikatory poprzez GET przed podjęciem działań. Traktuj błędy 404 jako sygnał miękkiego usunięcia.
500 Błąd wewnętrzny serwera Tymczasowy błąd serwera Microsoft Ponów próbę z wykładniczym wycofywaniem (1s, 2s, 4s). Zaloguj nagłówek request-id dla pomocy technicznej firmy Microsoft.
Wielu dostawców

Poza Microsoft Graph: ujednolicony interfejs API e-mail dla Gmaila, Outlooka i IMAP

Zarządzanie integracją poczty e-mail za pomocą Microsoft Graph API to dopiero początek. Większość produktów SaaS musi jednocześnie obsługiwać Gmail, Outlook i IMAP – co oznacza trzy oddzielne przepływy OAuth, trzy pętle odświeżania tokenów i trzy systemy webhook. Unipile's ujednolicone API pocztowe abstrakcje wszystkich trzech dostawców za jednym punktem końcowym.

Logo GmailGmail API Logo OutlookMicrosoft Graph Logo IMAPIMAP / SMTP

Z Unipile's zintegrowane API poczty e-mail, piszesz jedną integrację i od razu obsługujesz wszystkie trzy typy dostawców. Połączone konta są zarządzane przez Unipile – Twój backend komunikuje się tylko z jednym punktem końcowym REST, niezależnie od tego, czy skrzynka pocztowa użytkownika działa na Microsoft Graph, Gmail, czy IMAP.

Brak przepływów OAuth do zarządzania - Unipile zajmuje się pozyskiwaniem, odświeżaniem i unieważnianiem tokenów dla Microsoft Graph i Gmail w Twoim imieniu.

Ujednolicone zdarzenia webhook - jedno url powiadomienia odbiera zdarzenia e-mail od wszystkich dostawców z znormalizowanym schematem JSON. Brak zarządzania subskrypcjami per dostawca.

Zgodny z SOC 2 typu II - wszystkie dane e-mail w tranzycie są szyfrowane. Unipile nie przechowuje treści wiadomości e-mail poza tym, co wymaga Twoja integracja.

Obsługiwani dostawcy poczty e-mail
Outlook / Microsoft 365
przez Microsoft Graph API
Aktywny
Gmail
poprzez Gmail API (Google)
Aktywny
IMAP / SMTP
Uniwersalna kopia zapasowa poczty e-mail
Aktywny
Rozpocznij

Zacznij integrować pocztę e-mail Microsoft Graph w kilka minut

Dołącz do ponad 200 zespołów SaaS korzystających z Unipile, aby połączyć Outlook, Gmail i IMAP w ramach jednego API. Bez blokowania dostawcy. Zgodność z SOC 2.

FAQ

Często zadawane pytania

Wszystko, o co pytają deweloperzy przed rozpoczęciem pracy z punktem końcowym poczty e-mail interfejsu API Microsoft Graph - od uwierzytelniania, przez limity zapytań, po pokrycie dostawców.

01
Czym jest Microsoft Graph API dla poczty e-mail?
The Microsoft Graph API dla poczty e-mail jest oficjalnym punktem końcowym REST udostępnianym przez firmę Microsoft do uzyskiwania dostępu do danych skrzynek pocztowych Outlook i Exchange. Znajduje się on pod adresem https://graph.microsoft.com/v1.0/me/messages i wykorzystuje uwierzytelnianie OAuth 2.0 za pośrednictwem Azure Active Directory. Obsługuje odczytywanie, wysyłanie, przeszukiwanie i zarządzanie wiadomościami e-mail, a także odbieranie powiadomień o zmianach w czasie rzeczywistym za pośrednictwem subskrypcji webhook.
02
Jak działa OAuth 2.0 z Microsoft Graph?
Microsoft Graph używa Azure Active Directory (Entra ID) do uwierzytelniania. Rejestrujesz aplikację w portalu Azure, konfigurujesz wymagane uprawnienia interfejsu API Graph (takie jak Mail.Read oraz Mail.Send), a do pozyskiwania tokenów dostępu użyj Microsoft Authentication Library (MSAL). Istnieją dwa główne przepływy: delegowane Użytkownik loguje się interaktywnie. i aplikacja (serwer-do-serwera, bez interakcji użytkownika). Tokeny wygasają po 1 godzinie i muszą być automatycznie odświeżane.
03
Czy Microsoft Graph API obsługuje IMAP?
Microsoft Graph API nie używa IMAP wewnętrznie – jest to REST API, które abstrakcjonuje leżący u podstaw protokół pocztowy. Jednakże konto Outlook nadal można uzyskać za pomocą IMAP (z OAuth 2.0, ponieważ uwierzytelnianie podstawowe zostało wycofane). W przypadku integracji poczty e-mail Outlook firma Microsoft zdecydowanie zaleca korzystanie z Graph API zamiast IMAP, ponieważ oferuje ono więcej funkcji, lepszą wydajność i pełne wsparcie dla webhooków. W przypadku skrzynek pocztowych innych niż Microsoft, IMAP pozostaje uniwersalnym wyborem awaryjnym.
04
Jakie są limity szybkości dla interfejsu API poczty e-mail Microsoft Graph?
Microsoft Graph stosuje ograniczenia przepustowości na wielu poziomach. Ogólny limit to 10 000 zapytań na 10 minut na aplikację. Limity na użytkownika mogą być niższe, w zależności od typu operacji. Po przekroczeniu limitu, API zwraca kod HTTP 429 z Ponów-Po Najlepsze praktyki: zaimplementuj wykładnicze wycofywanie, użyj $wsadowo, aby połączyć do 20 żądań w jednym wywołaniu HTTP, i cache'uj często używane dane, aby zminimalizować zbędne wywołania.
05
Jak skonfigurować webhooki w Microsoft Graph API?
POST do /v1.0/subskrypcje with a zmienTyp (np. "utworzono"), a notificationUrl wskazując na twój punkt końcowy HTTPS, a zasób (np. "me/mailFolders('Inbox')/messages"). Firma Microsoft natychmiast wysyła żądanie GET z tokenWeryfikacyjny - twój serwer musi odesłać go z powrotem jako zwykły tekst w ciągu 10 sekund. Subskrypcje wygasają maksymalnie po 4230 minutach i muszą zostać odnowione za pomocą PATCH przed wygaśnięciem.
06
Czy mogę wysyłać wiadomości e-mail w imieniu użytkownika za pomocą Microsoft Graph?
Tak. Z uprawnienia delegowane (Mail.Send), możesz wysyłać wiadomości e-mail w imieniu zalogowanego użytkownika z jego własnej skrzynki pocztowej. Z uprawnienia aplikacji (Mail.Send) możesz wysyłać wiadomości w imieniu dowolnego użytkownika w dzierżawie bez konieczności jego logowania – przydatne do automatycznych powiadomień lub integracji z systemem CRM. Zobacz też: Przewodnik po interfejsie API do wysyłania wiadomości e-mail w imieniu użytkownika.
07
Jaka jest różnica między Microsoft Graph API a EWS?
Exchange Web Services (EWS) to oparty na SOAP interfejs API, który firma Microsoft zbudowała dla wewnętrznych serwerów Exchange. Microsoft Graph API to nowoczesny zamiennik REST i jest jedynym zalecanym podejściem dla nowych integracji. EWS jest w trybie konserwacji - nie są dodawane nowe funkcje, a Microsoft ogłosił plany wycofania go dla Exchange Online. Jeśli nadal korzystasz z EWS, migruj teraz do Graph API. W przypadku starszych lokalnych serwerów Exchange (2013/2016), EWS może być nadal jedyną opcją, ale Unipile's API poczty elektronicznej może pomóc wypełnić lukę.
Masz jeszcze jakieś pytania? Nasz zespół pomoże Państwu w integracji punktu końcowego poczty e-mail interfejsu API Microsoft Graph do Państwa produktu.
Porozmawiaj z ekspertem
pl_PLPL