تحديد المشاكل وحلّها

فيديو: مشاهدة الحديث عن التعامل مع الأخطاء من ورشة عمل 2019

يمكن أن تنتج الأخطاء عن إعداد غير صحيح للبيئة أو خطأ في أو برامجك أو إدخالات غير صالحة من المستخدم. بغض النظر عن المصدر، سوف وعليك تحديد المشكلة وحلّها وإما إصلاح الرمز أو إضافة منطق للتعامل معها. خطأ المستخدم. يناقش هذا الدليل بعض أفضل الممارسات عند تحديد المشاكل وحلّها. من Google Ads API.

ضمان إمكانية الاتصال

  1. تأكَّد من إمكانية وصولك إلى Google Ads API وإجراء عملية إعداد صحيحة. إذا كان تظهر أي أخطاء HTTP، فتأكد من التعامل معها بعناية أنّك تصل إلى الخدمات التي تنوي استخدامها من خلال رمزك البرمجي.

  2. تم تضمين بيانات الاعتماد في طلب لمصادقتك. التعرّف على بنية Google Ads API الطلبات والاستجابات، خاصةً إذا كنت ستتعامل مع المكالمات بدون باستخدام مكتبات العملاء. يتم شحن كل مكتبة عملاء مع تضمين مجموعة تعليمات حول كيفية تضمين بيانات الاعتماد في ملف التهيئة (راجع الملف التمهيدي لمكتبة البرامج).

  3. تأكَّد من استخدام بيانات الاعتماد الصحيحة. إنّ يرشدك Quickstart خلال عملية الحصول على المجموعة الصحيحة التي تحتاجها. فعلى سبيل المثال، يوضح فشل الاستجابة التالي أن أرسل المستخدم بيانات اعتماد مصادقة غير صالحة:

    {
      "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"
          }
        ]
      }
    }
    

إذا اتّبعت هذه الخطوات واستمرّت المشاكل، ننصحك بمراجعة التفاصيل في استكشاف أخطاء Google Ads API وإصلاحها.

تحديد المشكلة

تُبلِغ Google Ads API عادةً عن الأخطاء كعنصر تعذُّر JSON، ويحتوي على قائمة بالأخطاء في الرد. توفر هذه الكائنات رمز خطأ بالإضافة إلى رسالة توضح سبب حدوثها. إنها إشاراتك الأولى لما فقد تكون المشكلة.

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

تنشئ جميع مكتبات العملاء استثناءات تغليف الأخطاء في الإجابة. يمكن أن يمثل تسجيل هذه الاستثناءات فإن طباعة الرسائل في السجل أو شاشة استكشاف الأخطاء وإصلاحها تعد طريقة رائعة للبدء. دمج هذه المعلومات مع الأحداث الأخرى المسجلة في نظرة عامة جيدة على ما قد يؤدي إلى المشكلة. بعد تحديد الخطأ في السجلات، ستحتاج إلى معرفة ما يعنيه ذلك.

البحث عن الخطأ

  1. يُرجى الرجوع إلى الأخطاء الشائعة والتي تغطي الأخطاء الأكثر شيوعًا. أُنشأها جون هنتر، الذي كان متخصصًا رسالة الخطأ ومراجع واجهة برمجة التطبيقات ذات الصلة وكيفية تجنّب أو التعامل مع الخطأ.

  2. إذا لم تشير وثائق الأخطاء الشائعة إلى الخطأ تحديدًا، يُرجى مراجعة المستندات المرجعية والبحث عن سلسلة الخطأ.

  3. يمكنك البحث في قنوات الدعم للوصول إلى والمطورون يشاركون تجاربهم مع واجهة برمجة التطبيقات. قد يكون لدى شخص آخر تواجهها - لحلها - المشكلة التي تواجهها.

  4. في حال مواجهة أي أخطاء غير موثَّقة، يُرجى إحضارها إلى على المنتدى.

  5. انتقِل إلى مركز مساعدة "إعلانات Google". للحصول على مساعدة في تحديد وحلّ المشاكل المرتبطة بالتحقّق من الصحة أو في الحدّ الأقصى لعدد الحسابات، تكتسِب Google Ads API القواعد والقيود المفروضة على منتج "إعلانات Google" الأساسي.

  6. مشاركات المدونة في بعض الأحيان يكون مرجعًا جيدًا عند تحري الخلل في تطبيقك وإصلاحه.

بعد البحث عن الخطأ، حان الوقت لتحديد السبب الجذري.

تحديد مكان السبب

تحقق من رسالة الاستثناء لتحديد سبب الخطأ. بعد البحث عند الاستجابة، تحقق من الطلب لمعرفة السبب المحتمل. خطأ في Google Ads API تتضمن الرسائل fieldPathElements في الحقل location من GoogleAdsError، مع الإشارة إلى مكان في الطلب حدث الخطأ. على سبيل المثال:

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

عند تحريّ مشكلة وإصلاحها، قد يكون السبب أنّ تطبيقك يقدّم معلومات خاطئة إلى واجهة برمجة التطبيقات. نحن نشجع بشدة استخدام بيئة التطوير (IDE) مثل Eclipse (إصدار مجاني وIDE مفتوح المصدر والذي يستخدم بشكل أساسي لتطوير Java، ولكن يحتوي على مكونات إضافية وغيرها من اللغات) لمساعدتك في تصحيح الأخطاء. وهو يتيح لك تحديد نقاط التوقف والتنقل خلال التعليمات البرمجية سطرًا تلو الآخر.

تحقق جيدًا للتأكد من تطابق الطلب مع إدخالات طلبك ( على سبيل المثال، قد لا يصل اسم الحملة إلى الطلب). يُرجى التأكد من أنّ: إرسال قناع الحقل يطابق التحديثات التي تريد إجراءها، حيث تدعم Google Ads API التحديثات المتفرقة. يشير حذف حقل من قناع الحقل في طلب التبديل إلى واجهة برمجة التطبيقات. فيجب تركه وشأنه. فإذا استعاد التطبيق كائنًا، وأجرى تغييرًا، ويعيد إرسالها، فربما تكتب في حقل لا دعم التحديث. الاطّلاع على وصف الحقل في المرجع المستندات لمعرفة ما إذا كانت هناك أي قيود على وقت أو إجراء تحديث الحقل.

كيفية الحصول على مساعدة

ليس من الممكن دائمًا تحديد المشكلة وحلها بنفسك. يؤدي طرح الأسئلة في المنتدى إلى الكشف سؤالك إلى آلاف المطورين الذين ربما اضطروا إلى التعامل مع المشكلة.

حاول تضمين أكبر قدر ممكن من المعلومات في استعلاماتك. تشمل العناصر المقترَحة ما يلي:

  • تم تنظيف طلب JSON واستجابة له. يُرجى الحرص على إزالة البيانات الحساسة معلومات مثل الرمز المميز للمطوِّر أو AuthToken.
  • مقتطفات الرمز البرمجي إذا كنت تواجه مشكلة في لغة معينة أو لطلب المساعدة في التعامل مع واجهة برمجة التطبيقات، فضمِّن مقتطفًا من الرمز للمساعدة لشرح ما تفعله.
  • رقم تعريف الطلب يتيح ذلك لأعضاء فريق "علاقات المطوّرين" في Google إمكانية العثور على طلبك إذا تم تقديمه ضد بيئة الإنتاج. أر ننصحك بالتسجيل في سجلاتك معرِّف الطلب المُضمَّن كخاصية في والاستثناءات التي تتضمن أخطاء الاستجابة، بالإضافة إلى مزيد من السياق من رقم تعريف الطلب فقط.
  • تتضمن المعلومات الإضافية، مثل وقت التشغيل أو إصدار أداة الترجمة المنصة مفيدة أيضًا عند استكشاف الأخطاء وإصلاحها.

حلّ المشكلة

الآن بعد أن عرفت المشكلة والتوصلت إلى حل، حان الوقت لإجراء التغيير واختبار الحل على حساب اختباري (خيار مفضَّل) أو الإنتاج (إذا كان الخطأ ينطبق فقط على البيانات في حساب إنتاج محدد).

ننصحك بالمشاركة

إذا كنت قد نشرت سؤالاً في المنتدى بشأن خطأ لم يتم التي ظهرت هناك من قبل ووجدت الحل، ففكر في إضافته إلى . في المرة القادمة التي يواجه فيها أحد المطوِّرين المشكلة نفسها، سيتمكن من حلها. في الحال.

الخطوات التالية

الآن بعد أن حللت هذه المشكلة، هل لاحظت أي طرق لتحسين تعليمات برمجية لتجنب هذا في المقام الأول؟

يساعد إنشاء مجموعة جيدة من اختبارات الوحدات في تحسين جودة الرمز وموثوقيته إلى حد كبير. كما أنه يسرّع عملية اختبار التغييرات الجديدة للتأكد لم تعطل الوظائف السابقة. تُعد الإستراتيجية الجيدة للتعامل مع الأخطاء أيضًا في عرض جميع البيانات اللازمة لاستكشاف الأخطاء وإصلاحها.