Hata kodları ve hata işleme | Grafik API'si kavramları
Uygulandığı öğe: Graph API | Azure Active Directory (AD)
Azure Active Directory (AD) grafik API'si kullanan istemci uygulamaları hata olarak değişen koşullar mümkün olduğunca düzgün bir şekilde tepki ve müşterilerine olası en iyi deneyimi sağlamak için mantığı işleme uygulamanız gerekir. Konuda hata türleri, Azure AD Graph API döndürür ve bunları işlemek genel yönergeler verilmektedir ele alınmıştır.
Önemli
Kullanmanız önerilir Microsoft Graph Azure Active Directory kaynaklara erişmek için Azure AD Graph API yerine. Geliştirme çalışmalarımızı artık Microsoft Graph yoğunlaşmıştır ve herhangi bir geliştirme için Azure AD Graph API planlanmaktadır. Senaryolar için Azure AD Graph API hala uygun olabilir, çok sınırlı sayıda vardır; Daha fazla bilgi için bkz: Microsoft Graph veya Azure AD grafik Office Geliştirici Merkezi blog postasına.
Grafik API'si hataları işleme
Hata türleri
Grafik API'si hataları Aşağıdaki kategorilerde oluşur.
- İstemci hataları. İstemci hataları 400-serisi HTTP durum kodları temsil edilir. Geçersiz değerlerle nesneleri içerirler, eksik nesneler özellikleri veya özellik değerleri, salt okunur bir özellik güncelleştirme girişimi ve gerekli yetkilendirme belirtecini atlama mevcut olmayan kaynağa erişmeye gerekli. Bu hataları gidermek için isteği yeniden denemeden önce arka plandaki sorunu giderin.
- Sunucu hataları. Sunucu hataları gibi bir geçici dizin Hatası 500-serisi HTTP durum kodları gösterilir. Bu hataların çoğu geçicidir ve isteği yeniden denenerek çözülebilir.
- Ağ/Protokolü hataları. Ağ ile ilgili hataları çeşitli istek gönderilirken veya ana bilgisayar adı çözümleme hatalarının, erken kapalı bağlantıları ve SSL anlaşması hataları gibi bir yanıt alma sırasında ortaya çıkabilir. Bu hataların çoğu denenerek çözümlenemiyor; Temel sorun düzeltilmesi gerekir. Ancak, konak adı çözme hataları veya zaman aşımları, gibi bazı hatalar istek denenerek çözümlenmesi.
Hata iletisi yapısı
Grafik API'si hataları bir HTTP durum kodu, bir ileti ve değerleri oluşan biçimlendirilmiş bir gövdesine sahip. Hata gövde özelliklerini işleme mantığı, hata kullanın.
Not: Bazı HTTP yanıtlarını içermiyor olabilir ileti/kod/değerleri yanıt gövdesi olduğundan isteği proxy ve ağ geçidi Hizmetleri üzerinden yönlendirilir. HTTP durum kodu tek başına dayalı hataları işlemek varsayılan mantığı eklediğinizden emin olun.
Bir HTTP 400 Request_BadRequest hatanın bir örnek verilmiştir.
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
}
}
Her ileti gövdesi, kod, ileti ve değerleri özellikleri vardır.
Kod: hata işleme mantığınızı koduna göre dala tasarlayın.
"code" : "Request_BadRequest"
İleti: okunabilir hata iletisini temsil eden bir dil/değer tanımlama grubu. Değer alanına içeriktir. Aşağıdaki örnekte, olduğundan istek başarısız değerini mailNickname özellik eksik.
"message" : { "lang" : "en", "value" : "A value is required for property 'mailNickname' of resource 'Group'." }
Değerleri: Hatanın yapısı hakkında daha fazla bilgi sağlayan ad/değer çiftleri koleksiyonu. Aşağıdaki örnekte yok değerleri dahil edilir.
"values" : null
Hata kodu başvurusu
HTTP hata kodları
Aşağıdaki tabloda, grafik API'si hata kodları, hata iletileri ve Eylemler hatalarını düzeltme dikkate alınacak listeler.
Genel olarak, HTTP 500-serisi hataları yeniden deneme sayısı için yanıt tercihen giderek daha çok uzun zaman aralıkları ("Denemeyle bir geri alma aralığı") üzerinden dağıtılmış ve bir rastgele dağıtım faktörle. 400-serisi hatalar yeniden denemeden önce düzeltilmesi gereken bir sorunu işaret eder.
HTTP durum kodu | Hata kodu | Hata iletisi | Ayrıntılar |
---|---|---|---|
400 | Directory_ExpiredPageToken | Belirtilen sayfa belirteç değeri süresi doldu ve artık İsteğinizde dahil edilebilir. | |
400 | Directory_ResultSizeLimitExceeded | Sonuç boyut sınırı aşıldı | Çok sayıda sonuç ile ilişkili olduğundan istek karşılanamıyor. Bu hata çok seyrek oluşur. |
400 | DomainVerificationCodeNotFound | Doğrulama işlemi eşleşen doğrulama kodunu içeren TXT kaydı bulamadığı için etki alanı doğrulaması başarısız olur. | |
400 | ObjectConflict | Bu şirketteki doğrulanmamış bir etki alanındaki etki alanı adı zaten var. | |
400 | ObjectConflict | Bu şirketteki doğrulanmış bir etki alanındaki etki alanı adı zaten var. | |
400 | ObjectInUse | Şu anda bir kullanıcı, Grup veya çok kiracılı uygulama tarafından başvurulan etki alanına silinemiyor | |
400 | ObjectPendingDeletion | Doğrulayamıyor bir silinmeyi bekliyor olan mevcut bir etki alanı. | |
400 | ObjectPendingTakeover | Bir etki alanına bir kiracı devralma sürecinde silinemiyor | |
400 | Request_BadRequest | Hatalı istek. Lütfen isteği yeniden denemeden önce düzeltin. | Bir özellik değeri geçersiz veya desteklenmeyen Sorgu bağımsız değişkeni gibi istek bir hata gösterir. İstek yeniden denemeden önce düzeltin. |
400 | Request_DataContractVersionMissing | Veri sözleşmesi sürümü parametresi eksik. API sürümü, tüm istekleri ile sorgu parametresi olarak içerir. | |
400 | Request_InvalidDataContractVersion | Belirtilen API sürümü geçersiz. Değer, desteklenen bir sürüm olarak tam olarak eşleşmelidir. | |
400 | Request_InvalidRequestUrl | İstek URL'si geçersiz. İstek /tenantdomainname/Entity veya /$metadata gibi olması gerekir. Kiracı etki alanı adı herhangi bir doğrulanmış, doğrulanmamış etki alanı adları veya bağlam kimliği olabilir. | |
400 | Request_UnsupportedQuery | GET isteği desteklenmiyor. İstek parametreleri düzeltin ve yeniden deneyin. | |
401 | Authentication_ExpiredToken | Erişim belirtecinizin süresi doldu. Lütfen isteği göndermeden önce sertifikayı yenileyin. | Erişim belirtecinin süresi doldu. Belirtecini yenileyin ve daha sonra yeniden gönderin. |
401 | Authentication_MissingOrMalformed | Erişim belirteci eksik veya hatalı. | Yetkilendirme üst access_token değeri eksik veya hatalı biçimlendirilmiş. Bu değer gereklidir. Değer kimlik doğrulama belirteci kullanın. |
401 | Authorization_IdentityDisabled | Arama uygulama sorumlusu devre dışı bırakılır. | Erişim belirtecinde yer belirtilen asıl dizinindedir ancak devre dışıdır. Dizin hesabında yeniden etkinleştirin ve yeniden deneyin. |
401 | Authorization_IdentityNotFound | Çağıran uygulama kimliğini kurulamadı. | Erişim belirtecinde yer belirtilen asıl dizinde bulunamadı. Belirteç eski olduğundan, asıl dizinden silindi veya dizin eşitleme Gecikmeli olduğundan bu durum ortaya çıkabilir. |
403 | Authentication_Unauthorized | Yetkisiz isteği. | Belirteç geçersiz veya desteklenmeyen talepleri içerir. İstek yeniden belirteci alma ve isteği yeniden deneyin. |
403 | Authorization_RequestDenied | Belirtilen kimlik bilgileri, bu istek için yeterli ayrıcalıklara sahip değil. | İstek yeterli ayrıcalığa sahip nedeniyle reddedildi. Örneğin, yönetici olmayan sorumlu kaynak silme izni yok. |
403 | Directory_QuotaExceeded | Dizin nesnesi kota sınırını {tenantName} aşıldı. Kota sınırını artırın veya kullanılan kota azaltmak için nesneleri silmek için sistem yöneticinize başvurun. | Bir dizini kotasını aştı. Nesneleri çok fazla değerlere sahip veya Kiracı çok fazla nesne olabilir. Bu ayrıca, çok fazla nesne için asıl oluşturulur oluşur. Kiracı veya asıl için en fazla izin verilen nesne sayısını artırmak veya oluşturma/güncelleştirme isteğinde değerlerin sayısını azaltın. |
404 | Directory_ObjectNotFound | Şirket bilgileri dizinden okunamıyor. | |
404 | Request_ResourceNotFound | {Resource} kaynağı yok veya sorgulanan başvuru özelliği nesnelerine birini bulunmaz. | URI tarafından tanımlanan kaynak yok. Değer gözden geçirin ve isteği yeniden deneyin. |
409 | Request_MultipleObjectsWithSameKeyValue | Tek bir kaynak için sonuç bekleniyordu, ancak birden çok kaynak bulunamadı. Lütfen çakışmayı çözmek için nesneleri güncelleştirin. | Aynı anahtar değerine sahip iki veya daha fazla nesne olduğunda bu hata oluşabilir örneğin iki kullanıcı olduğunda aynı UserPrincipalName. |
429 | Çok fazla istek sayısı. | İstekleri yükleniyor bu hata oluşur kısıtlanan. Önerilen bekleme süresi içinde yanıt üst bilgisi yeniden deneme sonrasında değeri döndürülür. İstek önerilen süreyi saniye bekledikten sonra yeniden deneyin. | |
500 | Service_InternalServerError | Bir iç sunucu hatası oluştu. | İstek işlenirken iç sunucu hatası. |
502 | [All] | “... Hizmet kullanılamıyor …" | Bir ağ geçidi veya proxy olarak bir sunucu, istek işlenirken başka bir sunucudan bir hatayla karşılaştı. Birkaç dakika bekleyin ve isteği yeniden deneyin. |
503 | Directory_ConcurrencyViolation | Kiracı için yapılan eşzamanlı isteklerden kaynaklanan hata oluştu. Lütfen kısa bir süre bekleyin ve yeniden deneyin. | |
503 | DNS doğrulama sırasında karşılaşılan hata (Not: DNS şu anda aşağı gibi çeşitli nedenlerden kaynaklanabilir). | ||
Authentication_Unknown | İç sunucu hatası. | Diğer hata kodları geçerli olduğunda bu hata kodu kullanılır. | |
Authentication_UnsupportedTokenType | Sunulan Belirtecin türü işlenmiyor. Yalnızca taşıyıcı belirteçlerini desteklenir. | Belirteç türü desteklenmiyor. Belirteç türü isteği yeniden denemeden önce gözden geçirin. | |
Directory_BindingRedirection | Kiracı bilgileri yerel olarak kullanılamıyor. Bilgi almak için aşağıdaki URL'ler kullanın. | Kiracı bölüm veri merkezinde mevcut olmadığında, istemciler yanıtta döndürülen URl bağlamanız gerekir. | |
Directory_BindingRedirectionInternalServerError | Kiracı bilgileri yerel olarak kullanılamıyor. Sunucu, en yakın veri merkezinin uç noktaları doldurmak çalışılırken bir iç hatayla karşılaştı. | Hizmeti için en yakın veri merkezinin bitiş noktaları listesini bir bağlama yeniden yönlendirme durum oluştuğunda doldurulur. Bu hata, bir özel durum listesi doldurulurken gösterir. Sorguyu yeniden deneyin. | |
Directory_CompanyNotFound | Şirket bilgileri dizinden okunamıyor. | Dizin hizmetinden şirket bilgileri yüklenirken bir hata oluştu. | |
Directory_ReplicaUnavailable | Tercih edilen çoğaltma kullanılamıyor. Lütfen çoğaltma herhangi oturum anahtarı üstbilgisi olmadan yeniden deneyin. | X-ms-kopya-oturum-anahtar üstbilgi çıkarın ve sonra yeniden deneyin. | |
Headers_DataContractVersionMissing | Veri sözleşmesi sürümü üstbilgisi eksik. İsteğinizde x-ms-dirapi-data-contract-version içerir. | İstemci sözleşme sürümü istekte eksik. | |
Headers_HeaderNotSupported | Üstbilgi {0} şu anda desteklenmiyor. | İstek desteklenmeyen bir HTTP üstbilgisi içeriyor. Üstbilgi değiştirin ve isteği yeniden deneyin. | |
Request_InvalidReplicaSessionKey | Sağlanan çoğaltma oturum anahtarı geçerli değil. | Çoğaltma oturum anahtarı düzeltin ve işlemi yeniden deneyin. | |
Request_ThrottledPermanently | İsteğiniz kalıcı olarak kısıtlanır. Lütfen sorunu gidermek için desteği arayın. | Kiracı art arda ve kalıcı olarak belirteç isteği hızı sınırı aşıldı. Hizmet anlaşılır kadar Kiracı gelen istekler reddedilir. Yardım için Microsoft Support başvurun. |