Megosztás a következőn keresztül:


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.

További források