Hibakódok és hibakezelés |} Graph API fogalmak
A következőkre vonatkozik: Graph API |} Az Azure Active Directory (AD)
Az Azure Active Directory (AD) Graph API-t használó alkalmazások hibakezelési logika reagálni szabályosan lehető különböző feltételeket, és adja meg a legjobb felhasználói élmény biztosítása az ügyfeleknek meg kell valósítania. A témakör ismerteti a típusú hibák, amelyek az Azure AD Graph API-t adja vissza, és ez a témakör általános útmutatást hogyan kezelje őket.
Fontos
Határozottan javasoljuk, hogy használjon Microsoft Graph helyett az Azure AD Graph API Azure Active Directory-erőforrások eléréséhez. A fejlesztéshez most összpontosítani Microsoft Graph, és nincs további fejlesztések Azure AD Graph API tervbe van véve. Nagyon korlátozott számú forgatókönyvek, amelyek az Azure AD Graph API továbbra is megfelelő lehet; További információkért lásd: a Microsoft Graph vagy az Azure AD Graph blogbejegyzés az Office-fejlesztői központban.
A Graph API-hibák kezelése
A hibákat
Graph API hiba lép fel a következő kategóriákba.
- Ügyfél-hibák. Ügyfél-hibák 400-sorozat HTTP-állapotkódok jelölik. Érvénytelen értékekkel objektumokat tartalmaznak, objektumok, hogy hiányoznak a szükséges tulajdonságok és a tulajdonságértékek próbál hozzáférni egy nem létező erőforráshoz, megpróbált frissíteni egy csak olvasható tulajdonság, és a szükséges engedélyezési jogkivonat kihagyásával. Ezek a hibák elhárításához javítsa ki a hibát okozó problémát mielőtt megpróbálná megismételni a kérelmet.
- Kiszolgáló hibák. 500-sorozat HTTP-állapotkódok, például a átmeneti könyvtár kiszolgálóhibákat jelöli. Ezek a hibák többségét átmeneti jellegűek, és a kérelem ismételt próbálkozásra megoldhatók.
- Hibák protokoll. Számos hálózati kapcsolatos hiba akkor fordulhat elő, egy kérelem küldésekor vagy fogadásakor választ, például a név feloldása a gazdagép hibáit, túl korán lezárt kapcsolatokat, és SSL-egyeztetést hibák közben. Ezek a hibák többségét nem oldható fel megpróbálásával; a hibát okozó problémát ki kell meghatározni. Néhány hiba, például állomásnév-feloldás hibákat vagy időtúllépést, azonban előfordulhat, hogy oldható fel a kérelem ismételt megpróbálásával.
Hiba az üzenetek struktúrája
Graph API hibák rendelkezik egy formázott szervezet, amely HTTP-állapotkódot, egy üzenet, és az értékeket tartalmaz. A hibakezelési logika hiba törzse tulajdonságainak használja.
Megjegyzés:: néhány HTTP-válaszok előfordulhat, hogy tartalmazza a kódot és üzenet /-értékek adott válasz törzsének, mivel a kérelmet proxy-és átjáró keresztül történik. Ne felejtse el feltüntetni alapértelmezett programot, amelyet kezelni tud a hibákat a HTTP-állapotkód kizárólag alapján.
Hiba történt a HTTP 400 Request_BadRequest példát a következő:
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
}
}
Minden üzenet törzse kódot, az üzenet és a tulajdonságok értékeit.
Kód: tervezése a hibakezelő logika elágazási a kód alapján.
"code" : "Request_BadRequest"
Üzenet: emberek számára olvasható hibaüzenet jelölő nyelvi/érték rekordot. A tartalom van, az érték mezőben. A következő példában a kérés nem teljesíthető, mert a értékének a mailNickname tulajdonság hiányzik.
"message" : { "lang" : "en", "value" : "A value is required for property 'mailNickname' of resource 'Group'." }
Értékek: további információt a hiba természetének biztosító név/érték párok gyűjteménye. A következő példában szereplő értékek tartoznak.
"values" : null
Hiba történt hivatkozás
HTTP-hibakódok
A következő táblázat a Graph API hibakódok, hibaüzeneteket és műveletek során hibák javítása figyelembe kell venni.
Általában HTTP 500-sorozat hibák válaszolni, az újrapróbálkozásokat lehetőleg elosztott egyre hosszú időintervallumok ("újrapróbálkozási időközt vissza ki") és a véletlenszerű terjesztési tényezővel. 400-sorozat hibák javítani kell, mielőtt megpróbálná problémákat jeleznek.
HTTP-állapotkód | Hibakód | Hibaüzenet | Részletek |
---|---|---|---|
400 | Directory_ExpiredPageToken | A megadott lexikális elem értéke érvényessége lejárt, és már nem szerepelhet a kérelemben. | |
400 | Directory_ResultSizeLimitExceeded | Eredmény méretének korlát túllépése | A kérelem nem teljesíthető, mert túl sok eredményt társítva. Ez a hiba akkor fordul elő, nagyon ritkán. |
400 | DomainVerificationCodeNotFound | Tartomány ellenőrzése sikertelen, mert az ellenőrzési folyamat nem található a TXT-rekordot a megfelelő ellenőrzőkódot. | |
400 | ObjectConflict | A tartomány neve már szerepel ebben a vállalatban nem ellenőrzött tartományt. | |
400 | ObjectConflict | A tartomány neve már szerepel a vállalat ellenőrzött tartományt. | |
400 | ObjectInUse | A tartomány jelenleg hivatkozik egy felhasználó, csoport vagy a több-bérlős alkalmazás nem törölhető. | |
400 | ObjectPendingDeletion | Nem lehet ellenőrizni a egy meglévő tartományhoz, amely törlésre vár. | |
400 | ObjectPendingTakeover | A bérlői felvásárlási folyamatban van egy tartományhoz nem lehet törölni. | |
400 | Request_BadRequest | Hibás kérés. Javítsa ki a kérelem ismételt próbálkozás előtt. | Azt jelzi, hogy a kérést, például a tulajdonságérték érvénytelen vagy nem támogatott lekérdezés argumentumot. Javítsa ki a kérelem ismételt próbálkozás előtt. |
400 | Request_DataContractVersionMissing | Adatok szerződés verzió paraméter hiányzik. Például api-version lekérdezési paraméterként a kérelmek. | |
400 | Request_InvalidDataContractVersion | A megadott api-verzió érvénytelen. Az érték pontosan egyeznie kell a valamelyik támogatott verzióra. | |
400 | Request_InvalidRequestUrl | Érvénytelen a kérelem URL-címét. A kérelem például /tenantdomainname/Entity vagy /$metadata kell lennie. Bérlői tartomány neve, az ellenőrzött és érvényes, nem ellenőrzött tartomány nevét vagy a környezeti azonosító lehet. | |
400 | Request_UnsupportedQuery | A GET kérés nem támogatott. Hárítsa el a kérelemben szereplő paraméterek, és próbálkozzon újra. | |
401 | Authentication_ExpiredToken | A hozzáférési token lejárt. Kérjük, hosszabbítsa meg azt a kérés elküldése előtt. | Hozzáférési jogkivonat érvényessége lejárt. Újítsa meg a tokent, és küldje el. |
401 | Authentication_MissingOrMalformed | Hozzáférési jogkivonat hiányzik vagy hibás formátumú. | Access_token az engedélyezési fejléc értéke hiányzik vagy hibás formátumú. Ez az érték szükség. A hitelesítési jogkivonat lévő érték legyen használva. |
401 | Authorization_IdentityDisabled | A hívó alkalmazás egyszerű le van tiltva. | A hozzáférési jogkivonat megadott egyszerű a könyvtárban van, de nem engedélyezett. Engedélyezze újra a fiókot a címtárban, és próbálkozzon újra. |
401 | Authorization_IdentityNotFound | Nem sikerült létrehozni a hívó alkalmazás identitását. | A hozzáférési jogkivonat megadott tag nem található a könyvtárban. Ez akkor fordulhat elő, mert a jogkivonat elavult, a rendszerbiztonsági tag törölve lett a könyvtárból, vagy a címtár-szinkronizálás késleltetett. |
403 | Authentication_Unauthorized | Jogosulatlan kérelmet. | A jogkivonat érvénytelen vagy nem támogatott jogcímeket tartalmaz. A kérelem jogkivonatának beszerzéséhez újra, és próbálkozzon újra a kérelmet. |
403 | Authorization_RequestDenied | A megadott hitelesítő adatok nem rendelkeznek elegendő jogosultsággal a kérést. | A megfelelő jogosultságok hiánya miatt a rendszer megtagadja a kérelmet. Például nem rendszergazda jogosultságú rendszerbiztonsági tag nincs engedélye az erőforrás törlése. |
403 | Directory_QuotaExceeded | A directory-objektum kvótájára vonatkozó korlátozást a {tenantName} túl lett lépve. Kérje meg a rendszergazdát, hogy a kvótakorlát növelésével vagy törölje annak objektumát a használt kvóta csökkentése érdekében. | A kvóta túl lett lépve. A bérlő lehetséges, hogy túl sok objektum vagy az objektum túl sok érték lehet. Ez akkor is felléphet, túl sok objektum létrehozásakor meg a rendszerbiztonsági tag. Növelje a maximális megengedett objektumszámot a bérlő vagy az egyszerű, vagy a létrehozás vagy frissítés kérelemben szereplő értékek számának csökkentése. |
404 | Directory_ObjectNotFound | Nem lehet olvasni a vállalati adatokat a könyvtárból. | |
404 | Request_ResourceNotFound | A(z) {Resource} nem létezik, vagy a lekérdezett referencia-tulajdonság objektumok egyike nem található. | Az URI-Azonosítóval azonosított erőforrás nem létezik. Az érték módosítása, és próbálkozzon újra a kéréssel. |
409 | Request_MultipleObjectsWithSameKeyValue | Az eredmény egy egyetlen erőforrás volt várható, de több erőforrást eredményezett. Frissítse a objektumok szeretné feloldani az ütközést. | Ez a hiba akkor fordulhat elő, ha két vagy több, azonos kulcsértékkel rendelkező objektumok például ha két felhasználók rendelkeznek az azonos UserPrincipalName. |
429 | Túl sok kérelmet. | Ez a hiba akkor fordul elő, amikor folyamatban van a kérelmek halmozódni. A javasolt várakozási idő a válaszfejlécet újrapróbálkozási után értékét adja vissza. Ajánlott hány másodpercig várakozás után próbálja megismételni a kérelmet. | |
500 | Service_InternalServerError | Egy belső kiszolgálóhiba történt. | A kérés feldolgozása során belső kiszolgálóhiba. |
502 | [All] | “... Szolgáltatás nem érhető el..." | Egy kiszolgálót az átjáróként vagy proxyként működött egy másik kiszolgáló hibát észlelt a kérelem feldolgozása közben. Várjon néhány percet, majd próbálkozzon újra a kérelmet. |
503 | Directory_ConcurrencyViolation | Hiba történik a bérlő egyidejű kérelmek miatt. Röviden várja meg, és próbálja meg újra. | |
503 | Hiba történt a DNS-ellenőrzés során (Megjegyzés: több okozhatja különböző okokból DNS jelenleg le van). | ||
Authentication_Unknown | Belső kiszolgálóhiba. | Ez a hibakód nem vonatkoznak más hibakódok használatos. | |
Authentication_UnsupportedTokenType | Jelenik meg a jogkivonat típusa nem kezeli. Csak tulajdonosi jogkivonatokat támogatottak. | A jogkivonat típusa nem támogatott. Vizsgálja felül a jogkivonat típusa, próbálkozzon újra a kérelmet. | |
Directory_BindingRedirection | Bérlői adatait nem helyileg nem érhető el. A következő URL-címek használatával információkat. | Ha a bérlő partíció nem érhető el az adatközpontban, az ügyfelek csatlakoztatni kell a válaszban visszaadott URL-címét. | |
Directory_BindingRedirectionInternalServerError | Bérlői adatait nem helyileg nem érhető el. A kiszolgáló belső hibába ütközött a legközelebbi adatközpont végpontok feltöltésekor. | Ha a kötési átirányítás kivétel lép fel, a legközelebbi adatközpont végpontok listáját a szolgáltatás fel van töltve. Ez a hiba kivétel azt jelzi, ha a lista feltöltésekor. Próbálja meg újból a lekérdezést. | |
Directory_CompanyNotFound | Nem lehet olvasni a vállalati adatokat a könyvtárból. | Hiba történt a vállalati adatok betöltésekor a címtárból. | |
Directory_ReplicaUnavailable | Az elsődleges replika nem érhető el. Bármely replika munkamenet kulcs fejléc nélkül próbálja meg újra. | Az x-ms-replika-munkamenetkulcs-fejléc nincs megadva, majd próbálkozzon újra. | |
Headers_DataContractVersionMissing | Az adatok szerződés verziófejléc hiányzik. Például a kérés x-ms-dirapi-data-contract-version. | A szerződés ügyfélverzió hiányzik a kérelemből. | |
Headers_HeaderNotSupported | Fejléc {0} jelenleg nem támogatott. | A kérelem nem támogatott HTTP-fejlécet tartalmaz. Módosítsa a fejlécet, majd próbálja megismételni a kérelmet. | |
Request_InvalidReplicaSessionKey | A megadott replika munkamenet-kulcs érvénytelen. | Hárítsa el a replika munkamenetkulcs, majd próbálja megismételni a kérelmet. | |
Request_ThrottledPermanently | A kérés véglegesen folyamatban van. Hívja meg a probléma címét a támogatási szolgálathoz. | A bérlő ismételten és tartósan túllépte a kérelmek sávszélesség-korlátjának. A bérlő a kérelmek azért lettek elutasítva, amíg a szolgáltatás újból egyeztetni kell. Segítségre van szüksége forduljon a Microsoft Support. |