Tillämpa metodtips för Microsoft Graph
I den här lektionen beskrivs metodtips som du kan använda för att få ut mesta möjliga av Microsoft Graph och göra ditt program mer tillförlitligt för slutanvändarna.
Autentisering
För att komma åt data i Microsoft Graph måste ditt program skaffa en OAuth 2.0-åtkomsttoken och presentera den för Microsoft Graph på någon av följande metoder:
- Huvudet för HTTP-auktoriseringsbegäran som en ägartoken
- Graph-klientkonstruktorn när du använder ett Microsoft Graph-klientbibliotek
Använd MICROSOFT Authentication Library-API:et MSAL för att hämta åtkomsttoken till Microsoft Graph.
Medgivande och auktorisering
Använd följande metodtips för medgivande och auktorisering i din app:
Använd minst möjliga privilegier. Begär endast behörigheter som är nödvändiga och endast när du behöver dem. För API:erna kontrollerar dina programanrop avsnittet behörigheter i metodavsnitten. Se till exempel skapa en användare och välj de minst privilegierade behörigheterna.
Använd rätt behörighetstyp baserat på scenarier. Om du skapar ett interaktivt program där en inloggad användare finns bör ditt program använda delegerade behörigheter. Men om programmet körs utan en inloggad användare, till exempel en bakgrundstjänst eller daemon, bör programmet använda programbehörigheter.
Varning
Om du använder programbehörigheter för interaktiva scenarier kan programmet utsättas för efterlevnads- och säkerhetsrisker. Se till att kontrollera användarens behörigheter för att säkerställa att de inte har oönstrade åtkomst till information, eller omskäringsprinciper som konfigurerats av en administratör.
Överväg slutanvändaren och administratörsupplevelsen. Påverkar slutanvändare och administratörsupplevelser direkt. Till exempel:
Överväg vem som godkänner ditt program, antingen slutanvändare eller administratörer, och konfigurera ditt program för att begära behörigheter på rätt sätt.
Se till att du förstår skillnaden mellan statiskt, dynamiskt och inkrementellt medgivande.
Överväg multitenant-applikationer. Förvänta dig att kunderna har olika program- och medgivandekontroller i olika tillstånd. Till exempel:
Klientadministratörer kan inaktivera möjligheten för slutanvändare att samtycka till program. I det här fallet skulle en administratör behöva samtycka för sina användares räkning.
Klientadministratörer kan ange anpassade auktoriseringsprinciper som att blockera användare från att läsa andra användares profiler eller begränsa skapandet av självbetjäningsgrupper till en begränsad uppsättning användare. I det här fallet bör ditt program förvänta sig att hantera 403-felsvar när det agerar för en användares räkning.
Hantera svar effektivt
Beroende på vilka förfrågningar du gör till Microsoft Graph bör dina program vara beredda att hantera olika typer av svar. Följande är några av de viktigaste metoderna att följa för att säkerställa att programmet fungerar tillförlitligt och förutsägbart för slutanvändarna. Till exempel:
Sidnumrering: När du frågar efter resurssamlingar bör du förvänta dig att Microsoft Graph returnerar resultatuppsättningen på flera sidor på grund av sidstorleksbegränsningar på serversidan. Ditt program bör alltid hantera möjligheten att svaren är sidiga och använda
@odata.nextLinkegenskapen för att hämta nästa siduppsättning med resultat tills alla sidor i resultatuppsättningen har lästs. Den sista sidan innehåller@odata.nextLinkingen egenskap. För mer information, besök paging.Utvecklingsbara uppräkningar: Om du lägger till medlemmar i befintliga uppräkningar kan program som redan använder dessa uppräkningar sluta fungera. Utvecklingsbara uppräkningar är en mekanism som Microsoft Graph API använder för att lägga till nya medlemmar i befintliga uppräkningar utan att orsaka en icke-bakåtkompatibel ändring för program. Som standard returnerar en GET-åtgärd endast kända medlemmar för egenskaper för utvecklingsbara uppräkningstyper och ditt program behöver endast hantera kända medlemmar. Om du utformar ditt program för att även hantera okända medlemmar kan du välja att ta emot dessa medlemmar med hjälp av en HTTP-begäranderubrik
Prefer.
Lagra data lokalt
Ditt program bör helst göra anrop till Microsoft Graph för att hämta data i realtid efter behov. Du bör endast cachelagrat eller lagra data som är lokalt nödvändiga för ett specifikt scenario. Om användningsfallet omfattas av dina användningsvillkor och sekretesspolicy och inte bryter mot Användningsvillkoren för Microsofts API:er bör ditt program även implementera lämpliga principer för kvarhållning och borttagning.