Proč používat sadu Microsoft Graph SDK

Když dev proxy zjistí, že vaše aplikace provádí požadavky rozhraní Microsoft Graph API bez použití sady SDK, navrhne migraci na sadu SDK. Tyto pokyny existují, protože sady MICROSOFT Graph SDK výrazně zjednodušují práci s rozhraními Microsoft Graph API a pomáhají vytvářet robustnější aplikace.

Výhody sady Microsoft Graph SDK

Sady Microsoft Graph SDK poskytují řadu výhod oproti provádění nezpracovaných volání HTTP.

Integrované zpracování autentizace

Sady SDK se integrují s knihovnami ověřování, jako je Microsoft Authentication Library (MSAL), které zpracovávají získávání, aktualizace a správu tokenů automaticky. Tok OAuth 2.0 nemusíte implementovat ručně nebo si dělat starosti s vypršením platnosti tokenu.

Automatická logika opakování pro omezování

Služby Microsoftu 365 implementují omezování , aby se zajistila spolehlivost služeb. Když vaše aplikace obdrží 429 Too Many Requests odpověď, sada SDK automaticky zpracuje opakování s odpovídajícím zpožděním, přičemž respektuje hlavičku Retry-After, kterou Microsoft Graph vrátí.

Správné zpracování stránkování

Mnoho koncových bodů Microsoft Graphu vrací stránkované výsledky. Sady SDK poskytují integrované iterátory, které transparentně zpracovávají načítání dalších stránek, takže nemusíte ručně sledovat @odata.nextLink hodnoty a provádět další požadavky.

Bezpečnost typů a IntelliSense

SDK poskytují přísně typované modely pro požadavky a odpovědi a zajišťují podporu IntelliSense ve vašem integrovaném vývojovém prostředí (IDE). Modely typů snižují chyby a urychlují vývoj tím, že zachytávají problémy v době kompilace místo za běhu runtimeu.

Podpora dávkového zpracování

Sady SDK podporují dávkování více požadavků do jednoho volání HTTP, což snižuje režii sítě a zlepšuje výkon. Dávkování vám také pomůže zůstat v mezích omezení tím, že sníží počet jednotlivých požadavků.

Rozdílové dotazy

Sady nástrojů SDK zjednodušují implementaci rozdílových dotazů a umožňují efektivní synchronizaci změn dat od doby, kdy byl podán váš poslední požadavek. Použití rozdílových dotazů je zásadní pro vytváření responzivních aplikací, které potřebují zůstat synchronizované s daty Microsoftu 365.

Architektura middlewaru pro přizpůsobení

SDKy používají přizpůsobitelný middleware kanál k přidání záznamu, úpravě hlaviček, implementaci vlastních zásad opakování nebo používání jiných chování beze změny kódu aplikace.

Konzistentní vzory rozhraní API

Sady SDK poskytují konzistentní vzory napříč různými platformami a jazyky, což usnadňuje sdílení znalostí mezi členy týmu a napříč projekty.

Co chybí při přímých voláních HTTP

Když provádíte nezpracovaná volání HTTP do Microsoft Graphu, musíte implementovat několik důležitých funkcí sami.

Ruční implementace logiky opakování

Bez sady SDK musíte implementovat logiku opakování pro zpracování 429 responses, včetně následujících:

  • Retry-After Analýza hodnot záhlaví
  • Implementace exponenciálního opakování s časovou prodlevou
  • Zpracování různých chybových scénářů
  • Vyhněte se opakovaným bouřím pod velkým zatížením

Ruční řízení stránkování

Budete muset:

  • Zkontrolujte každou odpověď @odata.nextLink
  • Vytváření dalších požadavků na každou stránku
  • Agregace výsledků napříč stránkami
  • Řešení částečných selhání při stránkování

Předpřipravený kód pro zpracování chyb

Microsoft Graph může vracet různé chybové odpovědi s různými strukturami. Bez sady SDK potřebujete:

  • Analýza těla odpovědi na chyby
  • Správné zpracování různých stavových kódů HTTP
  • Extrahujte smysluplné chybové zprávy pro protokolování
  • Implementace náhradního chování pro neočekávané chyby

Složitost ověřování

Ruční správa ověřování vyžaduje:

  • Implementace toků OAuth 2.0
  • Ukládání a zabezpečení tokenů
  • Zpracování aktualizace tokenu před vypršením platnosti
  • Správa různých scénářů ověřování (delegovaná vs. oprávnění aplikace)

Dostupné sady SDK

Microsoft poskytuje oficiální sady SDK pro následující platformy:

Platforma sada SDK Dokumentace
platforma .NET Microsoft.Graph Dokumentace k .NET SDK
JavaScript/TypeScript @microsoft/microsoft-graph-client Dokumentace k JavaScript SDK
Java microsoft-graph Dokumentace Java SDK
Python msgraph-sdk-python Dokumentace pro Python SDK
Go msgraph-sdk-go Dokumentace k sadě Go SDK
PHP microsoft-graph Dokumentace PHP SDK
PowerShell Microsoft.Graph Dokumentace PowerShell SDK

Alternativy k používání sady SDK

I když se sady SDK doporučují pro většinu scénářů, existují případy, kdy můžou být vhodnější i jiné přístupy:

Klient vygenerovaný pomocí Kiota

Pokud vaše aplikace používá jenom malou podmnožinu rozhraní Microsoft Graph API, zvažte místo použití úplné sady SDK generování klienta s Kiota . Kiota vygeneruje lehkého, silně typovaného klienta přizpůsobeného konkrétním rozhraním API, která potřebujete, čímž snižuje závislostní stopu a zároveň poskytuje zabezpečení typů a podporu při vytváření požadavků.

Minimální využití rozhraní API

Pokud píšete rychlý skript nebo nástroj, který provádí jenom několik volání rozhraní API, nemusí být režijní náklady na nastavení sady SDK oprávněné. V těchto případech může být přímé volání HTTP jednodušší. Stále potřebujete řešit ověřování a chybové odpovědi sami, což může rychle komplikovat i jednoduché skripty.

Nepodporovaný jazyk

Pokud používáte programovací jazyk, který nemá oficiální sadu SDK, musíte provést přímá volání HTTP. Pokud ji Kiota podporuje, můžete také zvážit použití Kiota k vygenerování klienta pro váš jazyk.

Pokud sada SDK ještě nepodporuje konkrétní funkci

Microsoft Graph průběžně přidává nové funkce. V některých případech nemusí nové rozhraní API nebo funkce okamžitě obsahovat fluentní rozhraní API v sadě SDK. Ve většině případů můžete pomocí sady SDK dál vytvářet náhodné požadavky pomocí řetězce cesty, což vám dává výhody middleware SDK (ověřování, opakování, protokolování) bez potřeby typovaných sestavovačů požadavků. Pokud sada SDK požadavek vůbec nepodporuje, můžete se vrátit k přímým voláním HTTP, dokud se nepřidá podpora sady SDK.

Prostředí citlivá na výkon

Ve scénářích, jako jsou bezserverové funkce nebo hraniční computing, ve kterých záleží na studeném čase spuštění a velikosti balíčku, může být vhodnější jednodušší přístup pomocí klientů generovaných pomocí Kiota nebo přímých volání HTTP.

Další kroky

Zjistěte, jak aktualizovat aplikaci tak, aby používala sadu Microsoft Graph SDK: