Foutcodes en foutafhandeling | Graph API-concepten
Van toepassing op: Graph API | Azure Active Directory (AD)
Fout tijdens het verwerken van de logica voor het reageren als probleemloos mogelijk bij verschillende voorwaarden en de best mogelijke ervaring bieden aan hun klanten moeten implementeren, clienttoepassingen die gebruikmaken van de Azure Active Directory (AD) Graph API. Het onderwerp beschreven welke typen fouten die de Azure AD Graph-API retourneert en bevat algemene richtlijnen over hoe deze te verwerken.
Belangrijk
Wordt aangeraden dat u Microsoft Graph in plaats van Azure AD Graph API voor toegang tot Azure Active Directory-resources. Ontwikkeling van onze producten nu concentreren zich bij Microsoft Graph en geen verdere verbeteringen zijn gepland voor Azure AD Graph API. Er zijn een zeer beperkt aantal scenario's waarvoor Azure AD Graph API nog steeds mogelijk geschikt; Zie voor meer informatie de Microsoft Graph of de Azure AD Graph blogbericht in het Office-ontwikkelaarscentrum.
Foutafhandeling Graph API
Typen fouten
Graph API fouten optreden in de volgende categorieën.
- Client fouten. Client-fouten worden aangeduid met de HTTP-statuscodes 400-serie. Bevatten ze objecten met ongeldige waarden, objecten die ontbreken vereiste eigenschappen of eigenschapswaarden en proberen te krijgen tot een niet-bestaande resource bij het bijwerken van een alleen-lezen eigenschap en het vereiste verificatietoken weglaten. Los het onderliggende probleem voordat u probeert de aanvraag voor het oplossen van deze problemen.
- Server-fouten. Server-fouten worden aangeduid met 500-serie HTTP-statuscodes, zoals een storing van de tijdelijke map. De meeste van deze fouten zijn tijdelijk en kunnen worden opgelost door de aanvraag opnieuw proberen.
- Netwerkprotocol fouten. Een verscheidenheid aan netwerk gerelateerde fouten kan optreden tijdens een aanvraag verzenden of ontvangen van een antwoord, zoals host name resolution fouten voortijdig gesloten verbindingen en SSL-onderhandeling-fouten. De meeste van deze fouten niet kan worden opgelost door opnieuw uit te voeren; het onderliggende probleem moet worden vastgesteld. Er zijn fouten, zoals host naamomzetting fouten of time-outs mogelijk echter worden opgelost door de aanvraag opnieuw proberen.
Fout berichtstructuur
Graph API fouten hebben een opgemaakte instantie die uit een HTTP-statuscode: een bericht en waarden bestaat. Gebruik de eigenschappen van de hoofdtekst van de fout in de logica voor foutafhandeling.
Opmerking: sommige HTTP-antwoorden kunnen niet onder andere de bericht-code-waarden antwoordtekst omdat de aanvraag wordt gerouteerd via proxy en gateway-services. Zorg dat u bevatten standaard logica dat fouten op basis van de HTTP-statuscode die alleen kan worden verwerkt.
Hier volgt een voorbeeld van een HTTP 400 Request_BadRequest-fout.
HTTP/1.1 400 Bad Request
Content-Type: application/json;odata=minimalmetadata;charset=utf-8
request-id: ddca4a7e-02b1-4899-ace1-19860901f2fc
Date: Tue, 02 Jul 2013 01:48:19 GMT
…
{
"odata.error" : {
"code" : "Request_BadRequest",
"message" : {
"lang" : "en",
"value" : "A value is required for property 'mailNickname' of resource 'Group'."
},
"values" : null
}
}
De hoofdtekst van elk bericht heeft code, bericht en eigenschappen van waarden.
Code: uw logica foutafhandeling aan op basis van de vertakking ontwerpen.
"code" : "Request_BadRequest"
Bericht: een taal/waarde-tuple die een leesbare foutbericht vertegenwoordigt. De inhoud is in het waardeveld. In het volgende voorbeeld wordt de aanvraag mislukt, omdat de waarde van de mailNickname eigenschap ontbreekt.
"message" : { "lang" : "en", "value" : "A value is required for property 'mailNickname' of resource 'Group'." }
Waarden: een verzameling naam/waarde-paren met meer informatie over de aard van de fout. Er zijn geen waarden zijn opgenomen in het volgende voorbeeld.
"values" : null
Verwijzing naar de code van fouten
HTTP-foutcodes
De volgende tabel bevat Graph API foutcodes, foutberichten en acties rekening moet houden bij het corrigeren van fouten.
In het algemeen HTTP 500-serie fouten reageren op nieuwe pogingen, bij voorkeur verdeeld over steeds lang tijdsintervallen ('opnieuw met een interval van back-off') en met een factor van willekeurige distributie. 400-serie fouten duiden op een probleem dat moet worden verholpen voordat u probeert.
HTTP-statuscode | Foutcode | Foutbericht | Details |
---|---|---|---|
400 | Directory_ExpiredPageToken | De waarde van de opgegeven token is verlopen en kan niet meer worden opgenomen in uw aanvraag. | |
400 | Directory_ResultSizeLimitExceeded | De maximale grootte resultaat is overschreden | De aanvraag kan niet worden uitgevoerd omdat deze gekoppeld met te veel resultaten is. Deze fout treedt zelden. |
400 | DomainVerificationCodeNotFound | Verificatie van domein mislukt, omdat het verificatieproces kan de TXT-record met overeenkomende verificatiecode niet vinden. | |
400 | ObjectConflict | Naam van het domein bestaat al in een niet-geverifieerd domein in dit bedrijf. | |
400 | ObjectConflict | Naam van het domein bestaat al in een geverifieerde domeinnaam in dit bedrijf. | |
400 | ObjectInUse | Het domein dat momenteel wordt verwezen door een gebruiker, groep of toepassing met meerdere tenants kan niet worden verwijderd. | |
400 | ObjectPendingDeletion | Kan niet controleren of een een bestaand domein dat verwijderd wordt. | |
400 | ObjectPendingTakeover | Een domein van een tenant overname kan niet worden verwijderd. | |
400 | Request_BadRequest | Ongeldige aanvraag. Corrigeer de aanvraag voordat het opnieuw proberen. | Hiermee geeft een fout in de aanvraag, zoals een ongeldige waarde voor eigenschap of een niet-ondersteunde query-argument. De aanvraag voordat u probeert te herstellen. |
400 | Request_DataContractVersionMissing | Versie van de gegevensparameter contract ontbreekt. Api-versie als een queryparameter met alle uw aanvragen bevatten. | |
400 | Request_InvalidDataContractVersion | De opgegeven api-versie is ongeldig. De waarde moet exact overeenkomen met een ondersteunde versie. | |
400 | Request_InvalidRequestUrl | Aanvraag-url is ongeldig. De aanvraag moet zoals /tenantdomainname/Entity of /$metadata. Tenant domeinnaam mag geen van de gecontroleerde, niet-geverifieerde domeinnamen of context-id. | |
400 | Request_UnsupportedQuery | De GET-aanvraag wordt niet ondersteund. Los de aanvraagparameters en probeer het opnieuw. | |
401 | Authentication_ExpiredToken | Uw toegangstoken is verlopen. Vernieuw de voordat de aanvraag is ingediend. | Toegangstoken is verlopen. Verleng het token en voer vervolgens opnieuw. |
401 | Authentication_MissingOrMalformed | Toegangstoken ontbreekt of is onjuist gevormd. | De access_token-waarde in de autorisatie-header is een ontbrekend of onjuist gevormd. Deze waarde is vereist. Gebruik de waarde in het verificatietoken. |
401 | Authorization_IdentityDisabled | De aanroepende toepassing principal is uitgeschakeld. | De principal die is opgegeven in het toegangstoken is in de map, maar is uitgeschakeld. Schakelt u het account in de map en probeer het opnieuw. |
401 | Authorization_IdentityNotFound | De identiteit van de aanroepende toepassing kan niet worden gemaakt. | De principal die is opgegeven in het toegangstoken is niet gevonden in de map. Deze fout kan optreden omdat het token verlopen is, de principal is verwijderd uit de map of directory-synchronisatie wordt vertraagd. |
403 | Authentication_Unauthorized | Ongeautoriseerde aanvraag. | Het token bevat ongeldige of niet-ondersteunde claims. De aanvraag-token ophalen opnieuw en voer de aanvraag vervolgens opnieuw uit. |
403 | Authorization_RequestDenied | De opgegeven referenties hebben niet voldoende machtigingen om deze aanvraag. | De aanvraag wordt geweigerd vanwege onvoldoende rechten. Bijvoorbeeld, heeft een niet-administratieve principal geen machtiging om te verwijderen van een resource. |
403 | Directory_QuotaExceeded | De quotumlimiet voor directory-object voor de {tenantName} is overschreden. Vraag uw beheerder te Verhoog de quotalimiet of verwijderen van objecten om te beperken van het gebruikte quotum. | Een directory is overschreden. De tenant mogelijk te veel objecten of de objecten mogelijk te veel waarden. Dit gebeurt ook wanneer er te veel objecten zijn gemaakt op voor de principal. Verhoog het aantal maximale toegestane objecten voor de tenant of principal of verklein het aantal waarden die zijn opgenomen in de aanvraag maken of bij te werken. |
404 | Directory_ObjectNotFound | Kan niet lezen van de bedrijfsgegevens uit de directory. | |
404 | Request_ResourceNotFound | Resource {resource} bestaat niet of een van de aangevraagde verwijzingseigenschap objecten zijn niet aanwezig is. | De resource met de URI bestaat niet. Wijzig de waarde en probeer de aanvraag. |
409 | Request_MultipleObjectsWithSameKeyValue | Een enkele bron voor het resultaat werd verwacht, maar er zijn meerdere resources gevonden. Werk de objecten als het conflict wilt oplossen. | Deze fout kan optreden wanneer er twee of meer objecten met dezelfde sleutelwaarde, bijvoorbeeld wanneer twee gebruikers de dezelfde UserPrincipalName hebben. |
429 | Te veel aanvragen. | Deze fout treedt op wanneer aanvragen worden beperkt. Een voorgestelde wachttijd wordt geretourneerd als de waarde opnieuw proberen na van de response-header. De aanvraag opnieuw proberen na een wachttijd van het aanbevolen aantal seconden. | |
500 | Service_InternalServerError | Is een interne serverfout opgetreden. | Interne serverfout opgetreden tijdens het verwerken van de aanvraag. |
502 | [All] | “... Service niet beschikbaar...' | Een server die fungeert als gateway of proxy een fout gevonden in een andere server tijdens het verwerken van de aanvraag. Wacht een paar minuten en probeer de aanvraag. |
503 | Directory_ConcurrencyViolation | Fout door gelijktijdige aanvragen worden ingediend bij de tenant. Wacht even en probeer het opnieuw. | |
503 | Fout opgetreden tijdens de controle van DNS (Opmerking: kan zijn veroorzaakt door verschillende oorzaken hebben, zoals DNS is momenteel niet beschikbaar). | ||
Authentication_Unknown | Interne serverfout. | Deze foutcode wordt gebruikt wanneer andere foutcodes zijn niet van toepassing. | |
Authentication_UnsupportedTokenType | Het type token gepresenteerd is niet verwerkt. Alleen bearer-tokens worden ondersteund. | Het type token wordt niet ondersteund. Wijzig het tokentype voordat de aanvraag opnieuw proberen. | |
Directory_BindingRedirection | Informatie van de tenant is niet lokaal beschikbaar. Gebruik de volgende URL's voor de informatie. | Wanneer de tenant-partitie niet beschikbaar in het datacenter is, moeten clients verbinding maken met de URl in het antwoord geretourneerd. | |
Directory_BindingRedirectionInternalServerError | Informatie van de tenant is niet lokaal beschikbaar. De server heeft een interne fout aangetroffen tijdens het vullen van de dichtstbijzijnde datacenter-eindpunten. | Wanneer een binding omleiding-uitzondering optreedt, wordt de lijst met dichtstbijzijnde datacenter eindpunten voor de service wordt gevuld. Deze fout geeft aan dat een uitzondering opgetreden tijdens het vullen van de lijst. Probeer de query opnieuw uit. | |
Directory_CompanyNotFound | Kan niet lezen van de bedrijfsgegevens uit de directory. | Er is een fout opgetreden tijdens het laden van bedrijfsgegevens uit Active Directory. | |
Directory_ReplicaUnavailable | De voorkeur replica is niet beschikbaar. Probeer het opnieuw zonder een replica sleutel van de sessiekoptekst. | De header x-ms-replica-sessie-key weglaten en probeer het vervolgens opnieuw. | |
Headers_DataContractVersionMissing | De versiekop data contract ontbreekt. Omvatten x-ms-dirapi-data-contract-version in uw aanvraag. | De versie van het contract ontbreekt in de aanvraag. | |
Headers_HeaderNotSupported | Koptekst {0} is momenteel niet ondersteund. | De aanvraag bevat een niet-ondersteunde HTTP-header. Wijzig de header en probeer de aanvraag opnieuw. | |
Request_InvalidReplicaSessionKey | De opgegeven replica-sessiesleutel is niet geldig. | De replica-sessiesleutel los en probeer de aanvraag opnieuw. | |
Request_ThrottledPermanently | Uw aanvraag is permanent beperkt. Neem contact op met ondersteuning om het probleem op te. | De tenant herhaaldelijk en blijft de tokenaanvraag snelheid limiet overschreden. Aanvragen van de tenant zijn afgewezen totdat de service opnieuw wordt onderhandeld. Voor hulp contact op met Microsoft Support. |