Aracılığıyla paylaş


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.

Ek kaynaklar