Sorun giderme

. Video: 2019 atölyesinde Hataları ele alma konuşmasına göz atın

Hatalar yanlış ortam kurulumundan, veya bir kullanıcının geçersiz girişi olabilir. Kaynağı ne olursa olsun sorunu gidermeniz ve kodunuzu düzeltmeniz veya işleyecek mantık eklemeniz gerekir. kullanıcı hatası. Bu kılavuzda, sorun giderme ile ilgili bazı en iyi uygulamalar anlatılmıştır. Google Ads API'den gelen hatalar.

Bağlantının sağlanması

  1. Google Ads API'ye erişiminiz olduğundan ve doğru kuruluma sahip olduğunuzdan emin olun. Eğer yanıtı HTTP hataları döndürdüğüne göre, bunları dikkatle ele aldığınızdan ve kullanmayı planladığınız hizmetlere kodunuzdan ulaştığınızı gösterir.

  2. Kimlik bilgileriniz request Google'ın sunduğu Hizmetler'i kullanabilirsiniz. Google Ads API'nin yapısı hakkında bilgi edinin (özellikle de aramaları 100'den az olması) yardımcı oluyorum. Her istemci kitaplığı belirli kimlik bilgilerinizi yapılandırma dosyasına nasıl ekleyeceğinize ilişkin talimatları ( istemci kitaplığının BENİOKU) bölümüne kaydedilir.

  3. Doğru kimlik bilgilerini kullandığınızı doğrulayın. Bizim Hızlı başlangıç kılavuzu, size yardımcı olabilir. Örneğin, aşağıdaki yanıt hatası, kullanıcı geçersiz kimlik doğrulama bilgileri gönderdi:

    {
      "error": {
        "code": 401,
        "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. Visit https://developers.google.com/identity/sign-in/web/devconsole-project.",
        "status": "UNAUTHENTICATED",
        "details": [
          {
            "@type": "type.googleapis.com/google.rpc.DebugInfo",
            "detail": "Authentication error: 2"
          }
        ]
      }
    }
    

Bu adımları uygulamanıza rağmen sorun yaşamaya devam ediyorsanız Google Ads API hatalarını giderme.

Sorunun belirlenmesi

Google Ads API, hataları genellikle bir JSON hata nesnesi olarak bildirir. yanıttaki hataların listesini içerir. Bu nesneler, öğenin yanı sıra bunun nedenini açıklayan bir mesaj. Bunlar, hedefe ulaşmak için merak ediyor olabilirsiniz.

{
  "errors": [
    {
      "errorCode": { "fieldMaskError": "FIELD_NOT_FOUND" },
      "message": "The field mask contained an invalid field: 'keyword/matchtype'.",
      "location": { "operationIndex": "1" }
    }
  ]
}

Tüm istemci kitaplıklarımız yanıttaki hataları bir araya getirmelidir. Bu istisnaları tespit etmek ve İletileri bir günlükte veya sorun giderme ekranında yazdırmak, başlayabilirsiniz. Bu bilgileri uygulama, sorunun tetiklenmesine neyin yol açabileceğine dair iyi bir genel bakış sunar. Hatayı günlüklerde tanımladıktan sonra, teşhisin doğru şekilde yapılması için ne anlama geliyor?

Hatayı araştırma

  1. Sık Karşılaşılan Hatalar bölümümüze bakın. dokümanlarına göz atabilirsiniz. Google hata mesajını, ilgili API referanslarını ve bu tür durumlardan nasıl kaçınacağınızı giderebilirsiniz.

  2. Sık karşılaşılan hatalar dokümanımızda hatadan özel olarak bahsedilmiyorsa referans belgelerimize bakın ve hata dizesini arayın.

  3. Diğer kaynaklara erişmek için destek kanallarımızda ve API ile ilgili deneyimlerini paylaşıyor. Başka biri ne olduğunu çözer.

  4. Belgelenmeyen bir hatayla karşılaşırsanız bunu şu adrese gönderin: dikkatimizi forumda belirliyor.

  5. Google Ads Yardım Merkezi'ne gidin. doğrulama veya hesap sınırı sorunlarını giderme konusunda yardım almak için Google Ads API, temel Google Ads ürününün kurallarını ve sınırlamalarını devralır.

  6. Blog yayınları bazen başvurunuzla ilgili sorunları giderirken iyi bir referans olabilir.

Hatayı araştırdıktan sonra sıra temel nedeni belirlemeye gelir.

Nedeni bulma

Hatanın nedenini belirlemek için istisna mesajını kontrol edin. Baktıktan sonra yanıtı görürseniz talebinizde olası bir neden olup olmadığını kontrol edin. Bazı Google Ads API hataları Mesajlarda fieldPathElements bulunur location alanındaki GoogleAdsError, yeri gösteren hata oluştu. Örneğin:

{
  "errors": [
    {
      "errorCode": {"criterionError": "CANNOT_ADD_CRITERIA_TYPE"},
      "message": "Criteria type can not be targeted.",
      "trigger": { "stringValue": "" },
      "location": {
        "operationIndex": "0",
        "fieldPathElements": [ { "fieldName": "keyword" } ]
      }
    }
  ]
}

Bir sorunu giderirken, uygulamanız gereken bilgileri API’ye yanlış bilgi gönderilir. Etkileşimli ve etkileşimli bir üçüncü taraf platformu Eclipse (ücretsiz) gibi bir geliştirme ortamı (IDE) öncelikli olarak Java'yı geliştirmek için kullanılan ancak diğer diller) ekleyebilirsiniz. Ayrılma noktaları ayarlayabilmenizi sağlar ve kodunuzun satır satır adım adım ilerleyin.

İsteğin uygulama girişlerinizle eşleştiğinden emin olmak için tekrar kontrol edin ( örneğin, Kampanya adı isteğe yapılmıyor olabilir). Şunlardan emin olun: bir alan maskesi Google Ads API daha seyrek güncellemeleri destekler. Değişim isteğinde alan maskesinin dışında kalan bir alan, API'yi belirtir rahat bırakmalıdır. Uygulamanız bir nesne alır, değişiklik yaparsa geri gönderdiğinde, kontrol edilmeyen bir alana güncelleme desteği sunulur. Referanstaki alanın açıklamasını kontrol edin kontrol ve düzenleme yapmaya alanını güncelleyebilirsiniz.

Nasıl yardım alabilirim?

Sorunu kendi başınıza tespit etmeniz ve çözmeniz her zaman mümkün değildir. Forumda soru sorarak aynı problemle karşılaşmış olabilecek binlerce geliştiriciye sorduğunuz .

Sorgularınıza mümkün olduğunca fazla bilgi eklemeye çalışın. Önerilen öğeler şunlardır:

  • Temizlenmiş JSON isteği ve yanıtı. Hassas verileri veya AuthToken gibi bilgileri dahil edin.
  • Kod snippet'leri. Dille ilgili bir sorun yaşıyorsanız veya yardım istemeniz durumunda, yardımcı olması için bir kod snippet'i açıklamaya çalışın.
  • Talep Kimliği Bu sayede Google Geliştirici İlişkileri ekip üyeleri, talebiniz güncellenmelidir. Biz requestId'yi günlüklerinize kaydetmenizi öneririm. yanıt hatalarını ve daha fazla bağlamı kapsayan istisnalar daha fazla değer sağlar.
  • Çalışma zamanı/yorumlayıcı sürümü ve sorun giderme sırasında da yararlı olabilir.

Sorunu çözme

Artık sorunu anladığınıza ve bir çözüm bulduğunuza göre yapmak ve düzeltmeyi bir test hesabıyla karşılaştırarak test etmek (tercih edilir) veya üretim (hata yalnızca belirli bir üretim hesabındaki veriler için geçerliyse).

Paylaşmayı düşünebilirsiniz

Forumda daha önce açıklanmayan bir hatayla ilgili soru yayınladıysanız orada daha önce görmüşlerse ve çözümü bulduysanız, bunu ileti dizisi. Bir geliştirici daha sonra aynı sorunu yaşadığında çözebilir sabırsızlanıyorum.

Sonraki Adımlar

Artık bu sorunu çözdükten sonra, verilerinizi iyileştirmenin kod yazmamak ister misiniz?

İyi bir birim testi grubu oluşturmak, kod kalitesini ve güvenilirliğini iyileştirmeye yardımcı olur önemli ölçüde artırıldı. Aynı zamanda yeni değişiklikleri test etme sürecini önceki işlevleri bozmadı. Ayrıca, iyi bir hata yönetimi stratejisi, sorun giderme için gerekli tüm verileri göstermede büyük önem taşır.