Sorun giderme

Video: 2019'daki atölye çalışmasında hata işleme ile ilgili konuşmayı izleyin

Hatalar, yanlış ortam kurulumundan, yazılımınızdaki bir hatadan veya kullanıcıdan gelen geçersiz girişten kaynaklanabilir. Kaynağı ne olursa olsun, sorunu gidermeniz ve kodunuzu düzeltmeniz ya da kullanıcı hatasını işleyecek mantık eklemeniz gerekir. Bu kılavuzda, Google Ads API'den gelen hatalarla ilgili sorunları giderirken kullanabileceğiniz bazı en iyi uygulamalar ele alınmaktadır.

Bağlantı olduğundan emin olun

  1. Google Ads API'ye erişiminiz olduğundan ve doğru bir kurulum yaptığınızdan emin olun. Yanıtınız HTTP hataları döndürüyorsa bunları dikkatlice ele aldığınızdan ve kodunuzdan kullanmak istediğiniz hizmetlere ulaştığınızdan emin olun.

  2. Hizmetlerin kimliğinizi doğrulayabilmesi için kimlik bilgileriniz isteğinize yerleştirilir. Google Ads API istek ve yanıtlarının yapısını öğrenin. Özellikle istemci kitaplıklarını kullanmadan çağrıları işleyecekseniz bu bilgiye ihtiyacınız olacaktır. Her istemci kitaplığı, kimlik bilgilerinizin yapılandırma dosyasına nasıl ekleneceğiyle ilgili talimatlarla birlikte gönderilir (istemci kitaplığının README dosyasına bakın).

  3. Doğru kimlik bilgilerini kullandığınızı doğrulayın. Hızlı Başlangıç kılavuzumuz, ihtiyacınız olan doğru seti edinme sürecinde size yol gösterir. Örneğin, aşağıdaki yanıt hatası, kullanıcının geçersiz kimlik doğrulama kimlik bilgileri gönderdiğini gösterir:

    {
      "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ı gidermeye başlamanız gerekir.

Sorunu belirleme

Google Ads API, hataları genellikle yanıttaki hata listesini içeren bir JSON hata nesnesi olarak bildirir. Bu nesneler, hata kodunun yanı sıra neden oluştuğunu açıklayan bir mesaj da sağlar. Bunlar, sorunun ne olabileceğine dair ilk sinyallerdir.

{
  "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ı kapsayan istisnalar oluşturur. Bu istisnaları yakalamak ve mesajları bir günlükte veya sorun giderme ekranında yazdırmak, başlamak için harika bir yoldur. Bu bilgileri uygulamanızdaki diğer kaydedilmiş etkinliklerle entegre etmek, sorunu tetikleyen unsurlara dair iyi bir genel bakış sunar. Günlüklerdeki hatayı belirledikten sonra ne anlama geldiğini anlamanız gerekir.

Hatayı araştırın

  1. En sık karşılaşılan hataları ele alan Yaygın Hatalar dokümanımıza bakın. Hata mesajı, ilgili API referansları ve hatanın nasıl önleneceği veya nasıl ele alınacağı açıklanır.

  2. Sık karşılaşılan hatalarla ilgili dokümanlarımızda hata özellikle belirtilmiyorsa referans dokümanlarımıza göz atın ve hata dizesini arayın.

  3. API ile ilgili deneyimlerini paylaşan diğer geliştiricilere erişmek için destek kanallarımızda arama yapın. Başka bir kullanıcı, karşılaştığınız sorunu yaşamış ve çözmüş olabilir.

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

  5. Blog yayınları bazı durumlarda uygulamanızda sorun giderirken iyi bir referans olabilir.

  6. Belgelenmemiş hatalarla karşılaşırsanız destek ekibiyle iletişime geçin.

Hatayı araştırdıktan sonra temel nedeni belirlemeniz gerekir.

Nedeni bulma

Hatanın nedenini belirlemek için istisna mesajını kontrol edin. Yanıtı inceledikten sonra olası bir neden için isteği kontrol edin. Bazı Google Ads API hata mesajları, fieldPathElements alanında location içerir. Bu, GoogleAdsError içinde hatanın isteğin neresinde oluştuğunu gösterir. Ö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ın API'ye yanlış bilgi sağladığını fark edebilirsiniz. Hata ayıklama konusunda size yardımcı olması için Eclipse gibi bir etkileşimli geliştirme ortamı (IDE) kullanmanızı önemle tavsiye ederiz. Eclipse, öncelikle Java geliştirmek için kullanılan ücretsiz ve açık kaynaklı bir IDE'dir ancak diğer diller için eklentileri de vardır. Kesme noktaları ayarlamanıza ve kodunuzda satır satır ilerlemenize olanak tanır.

İsteğin uygulama girişlerinizle eşleştiğinden emin olmak için tekrar kontrol edin (örneğin, kampanyanın adı isteğe dahil edilmemiş olabilir). Yapmak istediğiniz güncellemelerle eşleşen bir alan maskesi gönderdiğinizden emin olun. Google Ads API, seyrek güncellemeleri destekler. Bir mutasyon isteğinde alan maskesinden bir alanın çıkarılması, API'nin bu alanı olduğu gibi bırakması gerektiğini gösterir. Uygulamanız bir nesneyi alıp değiştirip geri gönderiyorsa güncelleme işlemini desteklemeyen bir alana yazıyor olabilirsiniz. Alan açıklamasını referans belgelerinde inceleyerek alanı ne zaman veya güncelleyip güncelleyemeyeceğinizle ilgili kısıtlamalar olup olmadığını kontrol edin.

Nasıl yardım alabilirim?

Sorunu kendi başınıza tespit edip çözmeniz her zaman mümkün olmayabilir. Yardım almak için destek ekibiyle iletişime geçebilirsiniz.

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

  • Temizlenmiş JSON isteği ve yanıtı. Geliştirici jetonunuz veya AuthToken'ınız gibi hassas bilgileri kaldırdığınızdan emin olun.
  • Kod snippet'leri. Dile özgü bir sorun yaşıyorsanız veya API ile çalışma konusunda yardım istiyorsanız ne yaptığınızı açıklamanıza yardımcı olması için bir kod snippet'i ekleyin.
  • RequestId. Bu sayede, üretim ortamına yönelik bir talep gönderdiyseniz Google Geliştirici İlişkileri ekibi üyeleri talebinizi bulabilir. Yanıt hatalarını kapsayan istisnalarda özellik olarak yer alan requestId'yi ve yalnızca requestId'den daha fazla bağlamı günlüklerinize kaydetmenizi öneririz.
  • Çalışma süresi veya yorumlayıcı sürümü ve platform gibi ek bilgiler de sorun giderme sırasında yararlı olabilir.

Sorunu çözün

Sorunu belirleyip çözümünü bulduğunuza göre artık değişikliği yapma ve düzeltmeyi bir test hesabında (tercih edilen) veya üretimde (hata yalnızca belirli bir üretim hesabındaki veriler için geçerliyse) test etme zamanı geldi.

Sonraki Adımlar

Bu sorunu çözdüğünüze göre, kodunuzu iyileştirerek bu sorunu en baştan önlemenin yollarını fark ettiniz mi?

İyi bir birim testi grubu oluşturmak, kod kalitesini ve güvenilirliğini önemli ölçüde artırır. Ayrıca, önceki işlevselliği bozmadıklarından emin olmak için yeni değişikliklerin test sürecini de hızlandırır. İyi bir hata işleme stratejisi, sorun giderme için gerekli tüm verilerin ortaya çıkarılmasında da önemlidir.