Hizmet Hatalarını ve Özel Durumlarını İşleme
Bu makalede hata işleme ve uygulamanızın sorunlarını giderme ile ilgili ayrıntılar açıklanmaktadır.
İpucu
SOAP isteği iletisi oluşturduğunuzda, öğelerin web hizmetleri açıklama dilinde (WSDL) tanımlanan sırada olduğundan emin olun. Gerekli öğeler uygun değilse, çağrı başarısız olur. İsteğe bağlı öğeler sıra dışıysa, çağrı başarısız olabilir veya öğeler yoksayılır. Diğer ayrıntılar için bkz. SOAP XML Öğe Sırası.
Yaygın API Hataları
Karşılaşabileceğiniz yaygın hizmet hatalarını işlemek için bazı ipuçları aşağıdadır. Bing Ads API hata kodlarının kapsamlı listesi için bkz . İşlem Hata Kodları.
Kod 105
Genellikle hedef ortam için yanlış erişim belirteci (AuthenticationToken üst bilgi öğesi) veya geliştirici belirteci kullanımını gösterir. Örneğin kimlik bilgileriniz üretimde geçerli olabilir; ancak korumalı alanı hedeflerken kod 105'i gözlemleyebilirsiniz.
Kod 106
Genellikle hedef ortam için kimlik bilgileri doğru olsa da kullanıcının istekte belirtilen varlıklardan birine erişimi olmadığını gösterir. Örneğin, kullanıcının belirtilen hesap üzerinde izinleri yoksa SubmitGenerateReportRequest çağrısı yapan bu hatayı gözlemlersiniz.
Kod 117
Hizmet çağrısı sınırını aşarsanız aşağıdaki hatayı görürsünüz:
- Sayısal Hata Kodu: 117
- Sembolik Hata Kodu: CallRateExceeded
- İleti: Bir dakika içinde yapmanıza izin verilen çağrı sayısını aştınız. Lütfen dakika başına yaptığınız arama sayısını azaltın.
Bu hatayı gözlemlediğinizde, 60 saniye bekledikten sonra isteği sınırın altında yeniden gönderebilirsiniz.
İç Hata
Bazen hizmet aşağıdaki gibi bir iç hata döndürebilir:
<OperationError>
<Code>0</Code>
<Details i:nil="true"/>
<ErrorCode>InternalError</ErrorCode>
<Message>An internal error has occurred.</Message>
</OperationError>
Bazı olası iç hata senaryoları şunlardır:
- Bu geçici bir sistem sorunudur ve yapabileceğiniz eyleme dönüştürülebilir hiçbir şey yoktur. Aynı çağrı daha önce sizin için de işe yaradıysa, sorun sunucu tarafını çözmüş olmamız durumunda lütfen daha sonra yeniden deneyin.
- İşlem, eyleme dönüştürülebilir bir hata koduyla düzgün eşlenmedi. İdeal olan, istemcilerin sorunu çözmek için yapabilecekleri herhangi bir şey varsa, Bing Ads API'sinin eyleme dönüştürülebilir bir hata kodu döndürmesi gerekir. İç hatayı tutarlı bir şekilde gözlemliyorsanız lütfen ayrıntılarla birlikte desteğe başvurun .
HTTP 500
Tüm Bing Ads API hizmeti işlemleri, hataların BIR HTTP 500 koduyla döndürüldüğü Basit Nesne Erişim Protokolü (SOAP) 1.1 belirtimine bağlıdır. Örneğin, aşağıdakilere bakın.
HTTP/1.1 500 Internal Server Error
Bu, eyleme dönüştürülebilir bir kodun içinde ve kendisinde temsil edilmez ve belirli bir hata hakkında daha fazla bilgi için hata ayrıntılarını incelemeniz gerekir.
Soyut sınıf oluşturulamıyor
Ad gibi bir temel sınıfın örneğini oluşturamazsınız. Türetilmiş sınıflardan birinin örneğin , ExpandedTextAd örneği oluşturmanız gerekir.
Raporlama API'si çağrısından neden boş bir URL alıyorum?
Rapor Durumu Başarılı olarak ayarlandığında bile, gönderilen rapor parametreleri için kullanılabilir veri yoksa ReportDownloadUrl öğesi sıfır olabilir. Microsoft Advertising web uygulamasında aynı tarih aralığı ve filtre ölçütleri için performans verileri görüyorsanız ayrıntılar için lütfen desteğe başvurun .
Yaygın OAuth hataları
Karşılaşabileceğiniz yaygın yetkilendirme hatalarını işlemek için bazı ipuçları aşağıdadır.
AADSTS hataları
AADSTS hata kodları ve iletileri değiştirilebilir. En güncel bilgiler için AADSTS hata açıklamalarını, düzeltmelerini ve önerilen bazı geçici çözümleri bulmak için sayfaya göz atın https://login.microsoftonline.com/error .
Döndürülen hata kodunun sayısal bölümünde arama. Örneğin, "AADSTS650052" hata kodunu aldıysanız içinde "650052" araması https://login.microsoftonline.com/error yapın. Url'ye hata kodu numarasını ekleyerek de doğrudan belirli bir hataya bağlanabilirsiniz: https://login.microsoftonline.com/error?code=650052.
AADSTS50011, AADSTS650052 ve AADSTS700016 gibi en yaygın AADSTS hatalarından bazıları aşağıda daha ayrıntılı olarak açıklanmıştır.
AADSTS50011
AADSTS50011 hatası, Aşağıdaki gibi Microsoft kimlik platformu uç noktasıyla erişim belirteçleri istendiğinde bir JSON dizesi içinde döndürülebilir.
{"error":"invalid_client","error_description":"AADSTS50011: The reply url specified in the request
does not match the reply urls configured for the application: 'foo'.\r\nTrace ID:
x\r\nCorrelation ID: x\r\nTimestamp: 2019-05-10
17:18:23Z","error_codes":[50011],"timestamp":"2019-05-10
17:18:23Z","trace_id":"x","correlation_id":"x"}
Aşağıdaki gibi kullanıcı onayı istediğinizde tarayıcı penceresinde metin olarak geçersiz bir yeniden yönlendirme URI'si hatası döndürülebilir.
invalid_request: 'redirect_uri' giriş parametresi için sağlanan değer geçerli değil. Beklenen değer, bu istemci uygulaması için kaydedilen yeniden yönlendirme URI'sine uyan bir URI'dir.
Bu hatayı gözlemlerseniz, yeniden yönlendirme URI'niz düzgün kaydedilmemiş veya uygulamanız kayıtlı yeniden yönlendirme URI'sini kullanmıyordur.
AADSTS650052
650052 hata kodu şu iletiyle döndürülebilir: "Uygulamanın bir hizmete erişmesi gerekiyor ("https://ads.microsoft.com") "{organization}" kuruluşunuzun abone olmadığı veya etkinleştirilmediği."
Bu hatayı gözlemlerseniz lütfen Azure AAD kiracınızdaki yönetici kullanıcılardan en az birinin Microsoft Advertising web uygulamasındaiş hesaplarına eklendiğinden ve etkinleştirildiğinden emin olun. Daha fazla yardım için lütfen desteğe başvurun .
AADSTS700016
700016 hata kodu"{appIdentifier}' tanımlayıcısı olan uygulama '{tenantName}' dizininde bulunamadı" iletisiyle döndürülebilir.
0000000012345A67 gibi onaltılık değer olarak biçimlendirilmiş eski bir uygulama kimliğiniz (diğer adıyla İstemci Kimliği) varsa, yeni bir uygulama kaydetmeniz gerekir. Microsoft kimlik platformuyla kullanılmak üzere geçerli uygulama kimlikleri, ab01c23d-4e56-7f8a-90bc-1d23efabc45d gibi tirelerle GUID olarak biçimlendirilir. Azure portalında mevcut bir uygulamayı görmüyorsanız - Uygulama kayıtları, bu uygulamayı yeni bir uygulamayla değiştirmeniz gerektiğinin başka bir göstergesidir.
Geçersiz yeniden yönlendirme URI'si
Aşağıdaki gibi Live Connect uç noktasıyla erişim belirteçleri istenirken JSON dizesi içinde geçersiz bir yeniden yönlendirme URI'si hatası döndürülebilir.
{"error":"invalid_grant","error_description":"The provided value for the 'redirect_uri' is not
valid. The value must exactly match the redirect URI used to obtain the authorization code."}
Aşağıdaki gibi kullanıcı onayı istediğinizde tarayıcı penceresinde metin olarak geçersiz bir yeniden yönlendirme URI'si hatası döndürülebilir.
invalid_request: 'redirect_uri' giriş parametresi için sağlanan değer geçerli değil. Beklenen değer, bu istemci uygulaması için kaydedilen yeniden yönlendirme URI'sine uyan bir URI'dir.
Bu hatayı gözlemlerseniz, yeniden yönlendirme URI'niz düzgün kaydedilmemiş veya uygulamanız kayıtlı yeniden yönlendirme URI'sini kullanmıyordur.
Geçersiz izin
Belirteci kullanıcının onay vermediği bir kapsam kullanarak yenilemeye çalışırsanız bir invalid_grant hatası döndürülebilir.
{
"error":"invalid_grant",
"error_description":"AADSTS70000: The request was denied because one or more scopes requested are unauthorized or expired. The user must first sign in and grant the client application access to the requested scope."
}
Yeniden yönlendirme URI'sinin geçersiz olması, yenileme belirtecinin süresinin dolması, kullanıcının parolasını değiştirmesi veya belirtecin başka bir şekilde iptal edilmesi durumunda da bir invalid_grant hatası döndürülebilir.
{"error":"invalid_grant","error_description":"The user could not be authenticated or the grant is expired. The user must first sign in and if needed grant the client application access to the requested scope."}
Microsoft, önceden uyarıda bulunmadan herhangi bir zamanda kullanıcı onayının yeniden verilmesi gerektiğini belirleyebilir; ancak bazı senaryolar sizin denetiminizdedir. Microsoft Azure gibi bölgelere ve cihazlara yayılan hizmetlerde uygulama çalıştıran istemcilerin bir web uygulamasını istemci gizli dizisine kaydetmesi gerekir. Aynı istemci kimliğine ve istemci gizli dizisine sahip olduğunuz sürece bir cihazda yenileme belirteci alabilir ve başka bir cihazda yenileyebilirsiniz. Bir ortak uygulamayı gizli anahtar olmadan kaydederseniz, cihazlar arasında yenileme belirteci kullanamazsınız. Gizli belirteç, istemci gizli dizisine bağlıdır. ABD'de yenileme belirteci almak için istemci gizli anahtarı olmayan bir genel istemci uygulama kimliği kullandıysanız ve daha sonra AB bölgesindeki belirteci yenilemeyi denediyseniz invalid_grant hatasını gözlemlersiniz.
Uygulama bulunamadı veya yetkisiz istemci
"unauthorized_client: İstemci yok" veya "'bar' dizininde 'foo' tanımlayıcısı olan uygulama bulunamadı" gibi bir hata gözlemlerseniz, uygulamanın üretim veya korumalı alan gibi doğru hedef ortam için hala var olduğundan emin olun.
Microsoft kimlik platformu uç noktasını kısa onaltılık biçimli bir Live SDK uygulama kimliği kullanarak çağırıyorsanız (örneğin, 0000000012345A67) bir uygulama bulunamadı hatası döndürülebilir. Bu durumda yeni bir uygulama kaydetmeniz gerekir. Geçerli Microsoft kimlik platformu uygulama kimlikleri kısa çizgilerle GUID olarak biçimlendirilir; örneğin, ab01c23d-4e56-7f8a-90bc-1d23efabc45d.
Uygulamayı Azure portalına kaydettiyseniz, Desteklenen hesap türleri bölümünde herhangi bir kuruluş dizininde ve kişisel Microsoft hesaplarında Hesaplar'ı seçtiğinizden emin olun. (Lütfen bkz . Uygulama kaydetme) İlk kurulum sırasında bu seçeneği belirlemediyseniz, Azure portalı yeni bir uygulama kaydetmenizi gerektirebilir.
Uygulama çok kiracılı uygulama olarak yapılandırılmadı
Kayıtlı uygulamanız belirli bir kiracıyla sınırlıysa aşağıdaki hatayı gözlemleyebilirsiniz.
Application 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx' is not configured as a multi-tenant application. Usage of the /common endpoint is not supported for such applications created after '10/15/2018'. Use a tenant-specific endpoint or configure the application to be multi-tenant.
Uygulamayı Azure portalına kaydettiyseniz, Desteklenen hesap türleri bölümünde herhangi bir kuruluş dizininde ve kişisel Microsoft hesaplarında Hesaplar'ı seçtiğinizden emin olun. (Lütfen bkz . Uygulama kaydetme) İlk kurulum sırasında bu seçeneği belirlemediyseniz, Azure portalı yeni bir uygulama kaydetmenizi gerektirebilir.
Desteğe Başvurun
Microsoft Q&A forumu, geliştirici topluluğunun Bing Ads API'leri ve Microsoft Reklam Betikleri hakkındaki soruları sorması ve yanıtlaması için kullanılabilir. Microsoft forumları izler ve topluluğun henüz yanıtlamadığı soruları yanıtlar.
Önemli
Sorunuzu gördüğümüzden emin olmak için bunu 'advertising-api' ile etiketleyin.
Araştırmada hassas hesap veya kişisel ayrıntılar varsa veya Microsoft Q&A aracılığıyla sorununuzu çözmek için ihtiyacınız olan bilgileri bulamadıysanız lütfen Microsoft Reklam Desteği ile iletişime geçin.
İpucu
Araştırmayı hızlandırmak için lütfen geliştirme ortamı, hata sıklığı ve hatayı yeniden oluşturma adımları gibi ayrıntılarla destek sağlayın.
Bing Ads API hizmetlerine yapılan çağrılarla ilgili yardım için lütfen bu denetim listesinin üzerinden geçin ve sonuçları destek ekibine sağlayın.
- Hizmeti aramaya çalışan kullanıcı kimdir, örneğin oturum açma e-posta adresi nedir?
- Kullanıcının erişmeye çalıştığı hesap kimliği veya hesap numarası nedir?
- Hatayı yeniden oluşturmak için gereken adımlar nelerdir? Erişim belirteci gibi özel kimlik bilgileri dışında tam istek, yanıt ve zaman damgasını ekleyin.
- Üretim ortamını mı yoksa korumalı alan ortamını mı hedefliysiniz? Üretim ve korumalı alan için doğru uygulama kaydı ve yetkilendirme uç noktalarını kullandığınızdan emin olun. Aynı şekilde, aynı ortam için doğru web hizmeti adreslerini kullandığınızdan emin olun.
- Aynı isteğin geçmişte sizin için çalışıp çalışmadığını, örneğin geçmiş performansını belirtin.
- Artık sorunu her seferinde mi yoksa aralıklı olarak mı yeniden oluşturabileceğinizi belirtin.
- Toplu veya Raporlama hizmetiyle ilgili sorunlar için lütfen hem istek hem de durum yoklaması işlemlerinin izlemesini ekleyin.
- Hata kodu 105 veya 106 ile ilgili bir kimlik doğrulama sorunu için lütfen Microsoft Advertising kullanıcısının oturum açma kimlik bilgileri için sistem tanımlayıcısını da ekleyin. Geçerli kullanıcının kullanıcı tanımlayıcısını almak için lütfen Hızlı Başlangıç kılavuzuna bakın.
OAuth ile Kimlik Doğrulaması için erişim ve yenileme belirteçlerini alma konusunda yardım almak için lütfen bu denetim listesinde ilerleyin ve sonuçları destek ekibine sağlayın.
- Kimlik doğrulaması yapmaya çalışan kullanıcı kimdir, örneğin oturum açma e-posta adresi nedir?
- Kullanıcının erişmeye çalıştığı hesap kimliği veya hesap numarası nedir?
- Hatayı yeniden oluşturmak için gereken adımlar nelerdir? Erişim belirteci ve istemci gizli anahtarı gibi özel kimlik bilgileri dışında tam isteği, yanıtı ve zaman damgasını ekleyin.
- Üretim ortamını mı yoksa korumalı alan ortamını mı hedefliysiniz? Üretim ve korumalı alan için doğru uygulama kaydı ve yetkilendirme uç noktalarını kullandığınızdan emin olun. Aynı şekilde, aynı ortam için doğru web hizmeti adreslerini kullandığınızdan emin olun.
- Yerel veya web uygulaması kaydettiniz mi? Microsoft Azure gibi bölgelere ve cihazlara yayılan hizmetlerde uygulama çalıştıran istemcilerin bir web uygulamasını istemci gizli dizisine kaydetmesi gerekir.
- Kayıtlı uygulama kimliğiniz (client_id) nedir? Ayrıca bir uygulama gizli diziniz (client_secret) varsa, yetkilendirme uç noktasından erişim belirteçleri istediğinizde bunu ayarladığınızı onaylayın, ancak bunu kimseyle paylaşmayın.
- OAuth tanılama sistem durumu denetimi çalıştırın. Bir erişim belirtecini başarıyla edinebilir ve üretim veya korumalı alan için Hızlı Başlangıç kılavuzunu tamamlayabilir misiniz? Aksi takdirde, kimlik doğrulaması nerede başarısız olur ve hata nedir?
Hata Modeline Genel Bakış
Bing Ads API hizmeti işlemi başarısız olduğunda bir hizmet hatası döndürür; örneğin, Müşteri Yönetimi hizmeti ApiFault döndürebilir. Hata özel durumları bir veya daha fazla hata nesnesi içerir. Hata nesneleri, hizmet işleminin başarısız olmasının ayrıntılarını ve hatayı benzersiz olarak tanımlayan bir kodu içerir. Hata kodlarının listesi için bkz . Bing Ads API İşlem Hata Kodları.
Kullanılabilir hata ve veri nesneleri hizmete göre farklılık gösterir. Bu tabloda hata modeli açıklanır ve her hizmet için hata veri nesnelerine bağlantılar açıklanır.
Hizmet | Açıklama |
---|---|
Ad Insight | Tüm reklam içgörü işlemleri AdApiFaultDetail ve ApiFaultDetail içerebilir. |
Toplu | Tüm toplu işlemler AdApiFaultDetail ve ApiFaultDetail'i atabilir. |
Kampanya Yönetimi | Tüm kampanya yönetimi işlemleri AdApiFaultDetail verebilir. Bazı kampanya yönetimi işlemleri ApiFaultDetail veya EditorApiFaultDetail de verebilir. Daha fazla bilgi için bkz . Kampanya Yönetimi Veri Nesneleri. |
Müşteri Faturalaması | Tüm müşteri faturalama işlemleri AdApiFaultDetail ve ApiFault'a neden olabilir. Bazı müşteri faturalama işlemleri de ApiBatchFault'a neden olabilir. |
Müşteri Yönetimi | Tüm müşteri yönetimi işlemleri AdApiFaultDetail ve ApiFault'a neden olabilir. |
Raporlama | Tüm raporlama işlemleri AdApiFaultDetail ve ApiFaultDetail verebilir. |
Not
Tüm hata nesneleri ApplicationFault nesnesinden türetilir. ApplicationFault nesnesi, API çağrısının ayrıntılarını içeren günlük girdisini benzersiz olarak tanımlayan TrackingId öğesini tanımlar. Desteğe başvurmanız gerekiyorsa lütfen hizmet işlemini çağırdığınız tarih ve saati içeren izleme kimliğini belirtin.
Kısmi Başarı
Kısmi başarı, varlıkları bir veya daha fazla toplu iş halinde eklerken, güncelleştirirken veya silerken işlemin bazıları için başarılı olabileceği ve toplu işin bir bölümü için başarısız olabileceği anlamına gelir.
Toplu Hizmette Kısmi Başarı
Kayıtları Toplu dosyayayüklediğinizde, bazı kayıtlar için karşıya yükleme başarılı olabilir ve toplu işlemdeki diğerleri için başarısız olabilir. GetBulkUploadUrl'u çağırdığınızda, karşıya yükleme sonuçları dosyasında hataların alınıp alınmayacağını seçebilirsiniz.
Not
Microsoft Advertising "tümü veya hiçbir şey" hata işleme davranışını desteklemez. Bunu istemci tarafında halletmeniz gerekir.
Kampanya Yönetimi Hizmeti ile Kısmi Başarı
Çoğu varlık için , Kampanya Yönetimi hizmeti işlemleri çağrılırken kısmi başarı desteklenir. Bir varlığın eklenmediği her liste dizini için ilgili öğe null olur. PartialErrors öğesi, başarıyla eklenmemiş, güncelleştirilmemiş veya silinmemiş varlıkların ayrıntılarını içeren bir BatchError nesneleri dizisini temsil eder. Liste yalnızca başarısız girişimler için bir BatchError içerir ve başarıyla eklenen her varlığın dizininde null öğeler içermez. Benzer şekilde bazı işlemler BatchErrorCollection listesi veya iki boyutlu BatchError olarak NestedPartialError döndürür.
Not
ApplyProductPartitionActions işlemi yanıtta PartialErrors içerir; ancak kısmi başarı desteklenmez. İstenen eylemler kümesinin tamamı başarılı olur ve AdGroupCriterionIds yanıt listesi tam olarak doldurulur veya tümü başarısız olur ve PartialErrors yanıt listesi tam olarak doldurulur.
.NET Özel Durumları
Bing Ads .NET SDK'sını kullanıyorsanız uygulamanızın Bing Ads API hizmet düzeyi özel durumlarını, WCF özel durumlarını ve Bing Ads .NET SDK özel durumlarını işlemeye hazır olması gerekir.
.NET uygulamalarında sorun giderme için bkz. .NET SDK Sorunlarını Giderme.
WCF Özel Durumları
Bing Ads API'sine özgü olmayan genel SOAP hataları da oluşturulabilir ve uygulamanız tarafından yakalanması gerekir. Örneğin, .NET uygulamaları Exception, TimeoutException ve CommunicationException gibi Windows Communication Foundation (WCF) özel durumları verebilir. WCF'den beklemeniz gereken özel durumlar hakkında bilgi için bkz. Beklenen Özel Durumlar.
Hizmet nesnesini serbest bırakmak için finally bloğunda Close yöntemini çağırmamalısınız. Buna itiraz, Close yönteminin özel durumlar oluşturmasıdır. Close bir özel durum oluşturursa, tüm kaynakların serbest bırakıldığından emin olmak için Abort yöntemini çağırmanız gerekir; aksi takdirde, sunucudaki kaynakları sızdırıyor olabilirsiniz. Önerilen uygulama, try bloğu içinde Close çağrısı yapmak ve yakalanan özel durumlardan Abort çağrısı yapmaktır.
Aynı nedenle using deyiminin kullanılması önerilmez. Daha fazla bilgi için bkz. Using Deyimiyle İlgili Sorunlardan Kaçınma.
.NET SDK Özel Durumları
Bing Ads .NET SDK'sı özel durumları, hizmet düzeyi özel durumlarının bazılarını soyutlar. Özel durumların çoğunu geçici olarak çözmek için yeniden deneyebilir ve birden çok yeniden deneme girişiminden sonra sorun devam ederse desteğe başvurabilirsiniz.
Özel durum | Ad alanları | Açıklama |
---|---|---|
CouldNotDownloadResultFileException | Microsoft.BingAds | Bu özel durum, toplu veya raporlama sonuç dosyasını indirme girişimi başarısız olduktan sonra iç SDK HttpService tarafından oluşturulur. |
CouldNotUploadFileException | Microsoft.BingAds | Bu özel durum, toplu dosyayı karşıya yükleme girişimi başarısız olduktan sonra iç SDK HttpService tarafından oluşturulur. |
OAuthTokenRequestException | Microsoft.BingAds | Bu özel durum, Microsft Hesabı yetkilendirme sunucusundan bir hata döndürülürse oluşturulur. Bu özel durumu çözmek için, sorunu çözmek için gerçekleştirebileceğiniz bazı eylemler olması durumunda hata ayrıntılarını görmek için önce yığın izlemesini de inceleyebilirsiniz. Örneğin, geçersiz bir istemci kimliği belirtmiş olabilirsiniz. |
BulkOperationCouldNotBeCompletedException | Microsoft.BingAds.V13.Bulk | Tamamlanmış bir toplu sonuç dosyası için yoklama girişiminde bulunulduysa ve toplu hizmet başarısız bir durum döndürüyorsa bu özel durum oluşur. |
BulkOperationInProgressException | Microsoft.BingAds.V13.Bulk | Henüz kullanılamayan bir toplu sonuç dosyasını indirme girişiminde bulunulması durumunda bu özel durum oluşur. |
CouldNotGetBulkOperationStatusException | Microsoft.BingAds.V13.Bulk | BulkServiceManager birden çok yeniden denemeden sonra karşıya yükleme veya indirme işleminin durumunu alamadıysa bu özel durum oluşur. |
CouldNotSubmitBulkDownloadException | Microsoft.BingAds.V13.Bulk | Çağırdığı DownloadCampaignsByAccountIds hizmeti işlemi geçerli bir yanıt döndürmediğinde Bu özel durum BulkServiceManager tarafından oluşturulur. |
CouldNotSubmitBulkUploadException | Microsoft.BingAds.V13.Bulk | Bu özel durum, çağırdığı GetBulkUploadUrl hizmeti işlemi geçerli bir yanıt döndürmediğinde BulkServiceManager tarafından oluşturulur. |
EntityReadException | Microsoft.BingAds.V13.Bulk | BulkFileReader kullanılarak bir toplu dosyadan varlıkları okumaya çalışılırken bu özel durum oluşur. Bu özel durumu çözmek için, sorunu çözmek için gerçekleştirebileceğiniz bazı eylemler olması durumunda hata ayrıntılarını görmek için önce yığın izlemesini de inceleyebilirsiniz. Örneğin, okumaya çalıştığınız toplu dosyanın alanlardan birinde geçersiz bir değer olabilir. |
EntityWriteException | Microsoft.BingAds.V13.Bulk | BulkFileWriter kullanarak bir toplu dosyaya varlık yazmaya çalışılırken bu özel durum oluşur. Bu özel durumu çözmek için, sorunu çözmek için gerçekleştirebileceğiniz bazı eylemler olması durumunda hata ayrıntılarını görmek için önce yığın izlemesini de inceleyebilirsiniz. Örneğin, karşıya yükleme varlıklarından biri için geçersiz bir değer belirtmiş olabilirsiniz. |
CouldNotGetReportingDownloadStatusException | Microsoft.BingAds.V13.Reporting | ReportingServiceManager birden çok yeniden denemeden sonra indirme işlemi durumunu alamıyorsa bu özel durum oluşur. |
CouldNotSubmitReportingDownloadException | Microsoft.BingAds.V13.Reporting | Bu özel durum, çağırdığı SubmitGenerateReport hizmeti işlemi geçerli bir yanıt döndürmediğinde ReportingServiceManager tarafından oluşturulur. |
ReportingOperationCouldNotBeCompletedException | Microsoft.BingAds.V13.Reporting | Bu özel durum, tamamlanmış bir raporlama sonuçları dosyasını yoklama girişiminde bulunulduysa ve raporlama hizmeti başarısız bir durum döndürüyorsa oluşturulur. |
ReportingOperationInProgressException | Microsoft.BingAds.V13.Reporting | Bu özel durum, henüz kullanılabilir olmayan bir raporlama sonuçları dosyasını indirme girişiminde bulunulması durumunda oluşur. |
.NET SDK Sorunlarını Giderme
Bilinen bir hizmet sorunu olmadığı sürece, genellikle bir çağrı başarısız olduğunda SOAP öğelerinin geçersiz, sıra dışı olması veya yanlış kimlik bilgilerini belirttiğiniz içindir. Her iki durumda da doğrulamak için istek SOAP zarfını yakalamanız gerekir. Desteğe başvurabilir veya yakalama işleminizi her hizmet işlemi için belgelenen ilgili SOAP örneğiyle karşılaştırabilirsiniz.
SDK İzleme
SOAP isteğini ve yanıtını günlüğe kaydetmek için Bing Ads .NET SDK TraceBehavior'ı kullanabilirsiniz.
Not
TraceBehavior, Bing Ads .NET SDK sürüm 12.13.5 ve üzeri ile kullanılabilir.
using (StreamWriter streamWriter = new StreamWriter(@"tracelog.txt"))
{
streamWriter.AutoFlush = true;
// For console output instead of file output, use new TextWriterTraceListener(Console.Out).
// If you only need debug output, you can remove the StreamWriter, TraceListener, and AddTraceSource.
TraceListener traceListener = new TextWriterTraceListener(streamWriter.BaseStream);
IServiceCollection serviceCollection = new ServiceCollection();
serviceCollection.AddLogging(builder => builder
.AddTraceSource(new SourceSwitch("ProgramSourceSwitch", "verbose"), traceListener)
.AddDebug()
.AddFilter(level => level >= LogLevel.Debug)
);
var iLoggerFactory = serviceCollection.BuildServiceProvider().GetService<ILoggerFactory>();
TraceBehavior.Instance.AddMessageInspector(
new LogMessageInspector(
iLoggerFactory.CreateLogger<Program>(),
LogLevel.Information)
);
Authentication authentication = AuthenticateWithOAuth();
// This utiltiy operation sets the global authorization data instance
// to the first account that the current authenticated user can access.
SetAuthorizationDataAsync(authentication).Wait();
// Run all of the examples that are included above.
foreach (var example in _examples)
{
example.RunAsync(_authorizationData).Wait();
}
streamWriter.Flush();
traceListener.Flush();
}
Yukarıdaki kod parçacığını kullanan programın tamamı Program.cs bulunabilir.
Fiddler Seçenekleri
Fiddler gibi bir üçüncü taraf aracı kullanarak bir .NET uygulamasından SOAP zarflarını yakalamak için bu adımları izleyebilirsiniz.
- Fiddler'ı yükledikten sonra Fiddler sertifikasını kök sertifika deposundan dışarı aktarın.
- Araçlar>Fiddler Seçenekleri'ne tıklayın.
- HTTPS sekmesini seçin ve HTTPS trafiğinin şifresini çöz onay kutusuna tıklayın.
- Tamam'a tıklayın ve ardından yönergeleri izleyerek Fiddler sertifikasını dışarı aktarın.
Java Özel Durumları
Bing Ads Java SDK'sını kullanıyorsanız uygulamanızın Bing Ads API hizmet düzeyi özel durumlarını ve aşağıda açıklanan Bing Ads Java SDK'sı özel durumlarını işlemeye hazır olması gerekir.
Java uygulamalarında sorun giderme için bkz. Java SDK Sorunlarını Giderme.
Java SDK Özel Durumları
Bing Ads Java SDK'sı özel durumları bazı hizmet düzeyi özel durumlarını soyutlar. Özel durumların çoğunu geçici olarak çözmek için yeniden deneyebilir ve birden çok yeniden deneme girişiminden sonra sorun devam ederse desteğe başvurabilirsiniz.
Özel durum | Ad alanları | Açıklama |
---|---|---|
CouldNotDownloadResultFileException | com.microsoft.bingads | Bu özel durum, toplu veya raporlama sonuç dosyasını indirme girişimi başarısız olduktan sonra iç SDK HttpService tarafından oluşturulur. |
CouldNotUploadFileException | com.microsoft.bingads | Bu özel durum, toplu dosyayı karşıya yükleme girişimi başarısız olduktan sonra iç SDK HttpService tarafından oluşturulur. |
OAuthTokenRequestException | com.microsoft.bingads | Bu özel durum, Microsft Hesabı yetkilendirme sunucusundan bir hata döndürülürse oluşturulur. Bu özel durumu çözmek için, sorunu çözmek için gerçekleştirebileceğiniz bazı eylemler olması durumunda hata ayrıntılarını görmek için önce yığın izlemesini de inceleyebilirsiniz. Örneğin, geçersiz bir istemci kimliği belirtmiş olabilirsiniz. |
BulkDownloadCouldNotBeCompletedException | com.microsoft.bingads.V13.bulk | Bu özel durum, tamamlanmış bir toplu indirme sonuçları dosyasını yoklama girişiminde bulunulduysa ve toplu hizmet başarısız bir durum döndürüyorsa oluşturulur. |
BulkOperationInProgressException | com.microsoft.bingads.V13.bulk | Henüz kullanılamayan bir toplu sonuç dosyasını indirme girişiminde bulunulması durumunda bu özel durum oluşur. |
BulkUploadCouldNotBeCompletedException | com.microsoft.bingads.V13.bulk | Bu özel durum, tamamlanmış bir toplu karşıya yükleme sonuçları dosyasını yoklama girişiminde bulunulduysa ve toplu hizmet başarısız bir durum döndürüyorsa oluşturulur. |
CouldNotGetBulkOperationStatusException | com.microsoft.bingads.V13.bulk | BulkServiceManager birden çok yeniden denemeden sonra karşıya yükleme veya indirme işleminin durumunu alamadıysa bu özel durum oluşur. |
CouldNotSubmitBulkDownloadException | com.microsoft.bingads.V13.bulk | Çağırdığı DownloadCampaignsByAccountIds hizmeti işlemi geçerli bir yanıt döndürmediğinde Bu özel durum BulkServiceManager tarafından oluşturulur. |
CouldNotSubmitBulkUploadException | com.microsoft.bingads.V13.bulk | Bu özel durum, çağırdığı GetBulkUploadUrl hizmeti işlemi geçerli bir yanıt döndürmediğinde BulkServiceManager tarafından oluşturulur. |
EntityReadException | com.microsoft.bingads.V13.bulk | BulkFileReader kullanılarak bir toplu dosyadan varlıkları okumaya çalışılırken bu özel durum oluşur. Bu özel durumu çözmek için, sorunu çözmek için gerçekleştirebileceğiniz bazı eylemler olması durumunda hata ayrıntılarını görmek için önce yığın izlemesini de inceleyebilirsiniz. Örneğin, okumaya çalıştığınız toplu dosyanın alanlardan birinde geçersiz bir değer olabilir. |
EntityWriteException | com.microsoft.bingads.V13.bulk | BulkFileWriter kullanarak bir toplu dosyaya varlık yazmaya çalışılırken bu özel durum oluşur. Bu özel durumu çözmek için, sorunu çözmek için gerçekleştirebileceğiniz bazı eylemler olması durumunda hata ayrıntılarını görmek için önce yığın izlemesini de inceleyebilirsiniz. Örneğin, karşıya yükleme varlıklarından biri için geçersiz bir değer belirtmiş olabilirsiniz. |
CouldNotGetReportingDownloadStatusException | com.microsoft.bingads.V13.reporting | ReportingServiceManager birden çok yeniden denemeden sonra indirme işlemi durumunu alamıyorsa bu özel durum oluşur. |
CouldNotSubmitReportingDownloadException | com.microsoft.bingads.V13.reporting | Bu özel durum, çağırdığı SubmitGenerateReport hizmeti işlemi geçerli bir yanıt döndürmediğinde ReportingServiceManager tarafından oluşturulur. |
ReportingOperationCouldNotBeCompletedException | com.microsoft.bingads.V13.reporting | Bu özel durum, tamamlanmış bir raporlama sonuçları dosyasını yoklama girişiminde bulunulduysa ve raporlama hizmeti başarısız bir durum döndürüyorsa oluşturulur. |
ReportingOperationInProgressException | com.microsoft.bingads.V13.reporting | Bu özel durum, henüz kullanılabilir olmayan bir raporlama sonuçları dosyasını indirme girişiminde bulunulması durumunda oluşur. |
Java SDK Sorunlarını Giderme
Bilinen bir hizmet sorunu olmadığı sürece, genellikle bir çağrı başarısız olduğunda SOAP öğelerinin geçersiz, sıra dışı olması veya yanlış kimlik bilgilerini belirttiğiniz içindir. Her durumda doğrulamak için istek SOAP zarfını yakalamanız gerekir. Desteğe başvurabilir veya yakalama işleminizi her hizmet işlemi için belgelenen ilgili SOAP örneğiyle karşılaştırabilirsiniz.
İstek ve yanıt iletilerinin program aracılığıyla günlüğe kaydedilmesini etkinleştirmek için bkz . Hizmet çağrılarını günlüğe kaydetme.
Fiddler Seçenekleri
Fiddler gibi bir üçüncü taraf aracı kullanarak bir Java uygulamasından SOAP zarflarını yakalamak için bu adımları izleyebilirsiniz.
Fiddler'ı yükledikten sonra Fiddler sertifikasını kök sertifika deposundan dışarı aktarın. Araçlar>Fiddler Seçenekleri'ne tıklayın. HTTPS sekmesini seçin ve HTTPS trafiğinin şifresini çöz onay kutusuna tıklayın. Tamam'a tıklayın ve ardından yönergeleri izleyerek Fiddler sertifikasını dışarı aktarın.
Sertifikayı Java tarafından kullanılan sertifika deposuna aktarmak için aşağıdaki komutu kullanın; örneğin PowerShell'den Yönetici olarak yürütebilirsiniz.
PS C:\Program Files\Java\jre1.8.0_201\bin> .\keytool.exe -importcert -v -alias "Fiddler cert" -trustcacerts -keystore "C:\Program Files\Java\jre1.8.0_201\lib\security\cacerts" -storepass changeit -file <PathToFiddlerRootGoesHere>\FiddlerRoot.cer
Java uygulamanıza aşağıdaki satırları ekleyin.
System.setProperty("https.proxyHost", "127.0.0.1"); System.setProperty("https.proxyPort", "8888");
PHP Özel Durumları
Bing Ads PHP SDK'sını kullanıyorsanız uygulamanızın Bing Ads API hizmet düzeyi özel durumlarını ve aşağıda açıklanan Bing Ads PHP SDK'sı özel durumlarını işlemeye hazır olması gerekir.
PHP uygulamalarında sorun giderme için bkz. PHP SDK Sorunlarını Giderme.
PHP SDK Sorunlarını Giderme
Bilinen bir hizmet sorunu olmadığı sürece, genellikle bir çağrı başarısız olduğunda SOAP öğelerinin geçersiz, sıra dışı olması veya yanlış kimlik bilgilerini belirttiğiniz içindir. Her iki durumda da doğrulamak için istek SOAP zarfını yakalamanız gerekir. Desteğe başvurabilir veya yakalama işleminizi her hizmet işlemi için belgelenen ilgili SOAP örneğiyle karşılaştırabilirsiniz.
SOAP Yazdırma
PHP'de SOAP zarflarını yazdırmak için aşağıdaki yöntemleri kullanabilirsiniz. PHP kod örneklerinin her biri, hataları konsola yazdırmak için bu deyimleri içerir.
print $proxy->GetService()->__getLastRequest()."\n";
print $proxy->GetService()->__getLastResponse()."\n";
PHP SDK Özel Durumları
Bing Ads PHP SDK'sı özel durumları bazı hizmet düzeyi özel durumlarını soyutlar. Özel durumların çoğunu geçici olarak çözmek için yeniden deneyebilir ve birden çok yeniden deneme girişiminden sonra sorun devam ederse desteğe başvurabilirsiniz.
Microsft Hesabı yetkilendirme sunucusundan bir hata döndürülürse oluşan OAuthTokenRequestException'ı da işlemeniz gerekir. Bu özel durumu çözmek için, sorunu çözmek için gerçekleştirebileceğiniz bazı eylemler olması durumunda hata ayrıntılarını görmek için önce yığın izlemesini de inceleyebilirsiniz. Örneğin, geçersiz bir istemci kimliği belirtmiş olabilirsiniz.
Python Özel Durumları
Bing Ads Python SDK'sını kullanıyorsanız uygulamanızın Bing Ads API hizmet düzeyi özel durumlarını ve aşağıda açıklanan Bing Ads Python SDK'sı özel durumlarını işlemeye hazır olması gerekir.
Python uygulamalarında sorun giderme için bkz. Python SDK Sorunlarını Giderme.
Python SDK Özel Durumları
Bing Ads Python SDK'sı özel durumları, hizmet düzeyi özel durumlarının bazılarını soyutlar. Özel durumların çoğunu geçici olarak çözmek için yeniden deneyebilir ve birden çok yeniden deneme girişiminden sonra sorun devam ederse desteğe başvurabilirsiniz.
Özel durum | Ad alanları | Açıklama |
---|---|---|
BulkException | BingAds.V13.Bulk | Tamamlanmış bir toplu sonuç dosyası için yoklama girişiminde bulunulduysa ve toplu hizmet başarısız bir durum döndürüyorsa bu özel durum oluşur. |
BulkDownloadException | BingAds.V13.Bulk | Toplu bir dosya indirilmeye çalışılırken zaman aşımı oluşursa bu özel durum oluşur. |
BulkUploadException | BingAds.V13.Bulk | Toplu karşıya yükleme sonuçları dosyası indirilmeye çalışılırken zaman aşımı oluşursa bu özel durum oluşur. |
EntityReadException | BingAds.V13.Bulk | BulkFileReader kullanılarak bir toplu dosyadan varlıkları okumaya çalışılırken bu özel durum oluşur. Bu özel durumu çözmek için, sorunu çözmek için gerçekleştirebileceğiniz bazı eylemler olması durumunda hata ayrıntılarını görmek için önce yığın izlemesini de inceleyebilirsiniz. Örneğin, okumaya çalıştığınız toplu dosyanın alanlardan birinde geçersiz bir değer olabilir. |
EntityWriteException | BingAds.V13.Bulk | BulkFileWriter kullanarak bir toplu dosyaya varlık yazmaya çalışılırken bu özel durum oluşur. Bu özel durumu çözmek için, sorunu çözmek için gerçekleştirebileceğiniz bazı eylemler olması durumunda hata ayrıntılarını görmek için önce yığın izlemesini de inceleyebilirsiniz. Örneğin, karşıya yükleme varlıklarından biri için geçersiz bir değer belirtmiş olabilirsiniz. |
FileDownloadException | BingAds | Toplu karşıya yükleme sonuçları dosyası indirilmeye çalışılırken zaman aşımı oluşursa bu özel durum oluşur. |
FileUploadException | BingAds | Toplu bir dosyayı karşıya yüklemeye çalışırken zaman aşımı oluşursa bu özel durum oluşur. |
OAuthTokenRequestException | BingAds | Bu özel durum, Microsft Hesabı yetkilendirme sunucusundan bir hata döndürülürse oluşturulur. Bu özel durumu çözmek için, sorunu çözmek için gerçekleştirebileceğiniz bazı eylemler olması durumunda hata ayrıntılarını görmek için önce yığın izlemesini de inceleyebilirsiniz. Örneğin, geçersiz bir istemci kimliği belirtmiş olabilirsiniz. |
ReportingException | BingAds.V13.Reporting | Bu özel durum, tamamlanmış bir raporlama sonuçları dosyasını yoklama girişiminde bulunulduysa ve raporlama hizmeti başarısız bir durum döndürüyorsa oluşturulur. |
ReportingDownloadException | BingAds.V13.Reporting | Raporlama sonuçları dosyası indirilmeye çalışılırken zaman aşımı oluşursa bu özel durum oluşur. |
SdkException | BingAds | Bing Ads Python SDK'sı için temel özel durum sınıfı. Bu özel durum hiçbir zaman yükseltilir. |
Timeoutexception | BingAds | Zaman aşımı oluşursa bu özel durum oluşur. |
Python SDK Sorunlarını Giderme
Bilinen bir hizmet sorunu olmadığı sürece, genellikle bir çağrı başarısız olduğunda SOAP öğelerinin geçersiz, sıra dışı olması veya yanlış kimlik bilgilerini belirttiğiniz içindir. Her iki durumda da doğrulamak için istek SOAP zarfını yakalamanız gerekir. Desteğe başvurabilir veya yakalama işleminizi her hizmet işlemi için belgelenen ilgili SOAP örneğiyle karşılaştırabilirsiniz.
Günlüğe kaydetme
Bing Ads Python SDK'sını kullanıyorsanız çıkış trafiğine günlük kaydı (örneğin SOAP isteği ve yanıtı) ekleyebilirsiniz. Python kod örneklerinin her biri, çıkışı konsola giden tüm SOAP trafiğini yazdırmak için bu deyimleri içerir. Trafiği görüntülemek istiyorsanız bunların açıklamasını kaldırdığınızdan emin olun.
import logging
logging.basicConfig(level=logging.INFO)
logging.getLogger('suds.client').setLevel(logging.DEBUG)
logging.getLogger('suds.transport.http').setLevel(logging.DEBUG)
Ayrıca Bkz
Bing Ads API İşlem Hata Kodları
Bing Ads API Web Hizmeti Adresleri
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin