פתרון בעיות

סרטון: כדאי לצפות בשיחות על טיפול בשגיאות מהסדנה לשנת 2019

השגיאות עשויות לנבוע מהגדרה לא נכונה של סביבה, באג בתוכנה או בקלט לא חוקי מהמשתמש. בלי קשר למקור, תצטרכו לפתור את הבעיה ולהוסיף את הקוד או להוסיף לוגיקה לטיפול. בשגיאת המשתמש. במדריך הזה מתוארות כמה שיטות מומלצות לפתרון בעיות מ-Google Ads API.

הבטחת קישוריות

  1. חשוב לוודא שיש לך גישה ל-Google Ads API ושהגדרה נכונה. אם התגובה תחזיר שגיאות HTTP, הקפידו לטפל בהן בזהירות אתם מגיעים לשירותים שבהם אתם מתכוונים להשתמש מהקוד שלכם.

  2. פרטי הכניסה מוטמעים request לפי הסדר כדי לאמת את זהותכם. ללמוד על המבנה של Google Ads API במיוחד בקשות ותשובות, במיוחד אם אתם מתכוונים לטפל בשיחות שלא באמצעות ספריות הלקוח. כל ספריית לקוח נשלחת עם להוראות להוספת פרטי הכניסה לקובץ התצורה (עיינו ב README של ספריית הלקוח).

  3. מוודאים שאתם משתמשים בפרטי הכניסה הנכונים. שלנו המדריך למתחילים מסביר את תהליך הרכישה של את ההגדרה הנכונה שדרושה לך. לדוגמה, הכשל בתגובה הבאה מראה ש המשתמש שלח פרטי כניסה לא חוקיים לאימות:

    {
      "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. עיינו בשגיאות הנפוצות תיעוד לגבי השגיאות הנפוצות ביותר. הוא מתארת את הודעת השגיאה, את ההפניות הרלוונטיות ל-API ואיך להימנע לטפל בשגיאה.

  2. אם בתיעוד השגיאות הנפוצות לא מצוינת השגיאה באופן ספציפי, לעיין במסמכי העזר שלנו ולחפש את מחרוזת השגיאה.

  3. אפשר לחפש בערוצי התמיכה שלנו גישה לעוד מפתחים שמשתפים את החוויות שלהם עם ה-API. יכול להיות שלמישהו אחר נתקלתם בבעיה שיש לכם, ופתרתם אותה.

  4. אם נתקלים בשגיאות שלא תועדו, צריך להעביר את לתשומת ליבנו בפורום.

  5. נכנסים למרכז העזרה של Google Ads. לקבלת עזרה בפתרון בעיות באימות או במגבלות החשבון — Google Ads API יורש את הכללים ואת המגבלות של מוצר הליבה של Google Ads.

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

במהלך פתרון בעיה, ייתכן שהאפליקציה שלך מספקת את מידע שגוי ל-API. מומלץ מאוד להשתמש סביבת פיתוח (IDE) כמו Eclipse (גרסה חינמית ו-IDE בקוד פתוח, שמשמש בעיקר לפיתוח Java, אבל יש לו יישומי פלאגין שפות אחרות) כדי לסייע בניפוי באגים. הוא מאפשר להגדיר נקודות עצירה (breakpoint) ומעבר על הקוד, שורה אחרי שורה.

יש לבדוק היטב שהבקשה תואמת את הפרטים שהזנת באפליקציה ( לדוגמה, ייתכן ששם הקמפיין לא הגיע לבקשה). כדאי לוודא עליך לשלוח field mask שתואם לעדכונים שרוצים לבצע – Google Ads API תומך בעדכונים מועטים. השמטת שדה ממסיכת השדות בבקשת שינוי מציין את ה-API אל תסתפקו. אם האפליקציה מאחזרת אובייקט, מבצעת שינוי, ושולח אותו בחזרה, ייתכן שאתה כותב בשדה שלא בעדכון תמיכה. בודקים את תיאור השדה בקובץ העזר תיעוד כדי לבדוק אם יש הגבלות על הזמן שבו אתם משתמשים יכול לעדכן את השדה.

איך אפשר לקבל עזרה?

יש מצבים שבהם אי אפשר לזהות את הבעיה ולפתור אותה בעצמך. פרסום שאלות בפורום את השאלה לאלפי מפתחים שאולי נאלצו להתמודד עם אותה בעיה.

נסו לכלול בשאילתות כמה שיותר מידע. הפריטים המומלצים כוללים:

  • הבקשה והתגובה של JSON עברו חיטוי. חשוב להסיר תוכן רגיש מידע כמו קוד המפתח או AuthToken.
  • קטעי קוד. אם נתקלת בבעיה ספציפית בשפה או אם מבקשים עזרה בעבודה עם ה-API, צריך לכלול קטע קוד שיעזור להסביר מה אתה עושה.
  • מזהה בקשה. כך חברי הצוות של קשרי המפתחים של Google יכולים לאתר אם היא מתבצעת בניגוד לסביבת הייצור. רביעי מומלץ לרשום ביומנים את ה-requestId שכלול כנכס את החריגים שמכסים שגיאות בתגובות, וכן הקשר נוסף מאשר requestId בלבד.
  • מידע נוסף, כמו גרסת זמן ריצה/תרגום שיחה פעילה, עשויה להיות שימושית גם במהלך פתרון בעיות.

תיקון הבעיה

עכשיו, אחרי שהבנתם את הבעיה ומצאתם פתרון, הגיע הזמן לבצע את השינוי ולבדוק את התיקון מול חשבון בדיקה (מועדף) או סביבת ייצור (אם הבאג חל רק על נתונים בחשבון ספציפי בסביבת הייצור).

מומלץ לשתף

אם פרסמת בפורום שאלה לגבי שגיאה שלא הייתה שכבר הוצגו בעבר ומצאתם את הפתרון, כדאי להוסיף אותו של שרשור. בפעם הבאה שמפתח ייתקל באותה בעיה, הוא יוכל לפתור אותה מיד.

השלבים הבאים

עכשיו, לאחר שפתרת את הבעיה, האם הבחנת בדרכים אחרות כדי להימנע מכך מלכתחילה?

יצירת קבוצה טובה של בדיקות יחידה עוזרת לשפר את איכות הקוד ואת האמינות שלו במידה רבה. היא גם מזרזת את תהליך הבדיקה של שינויים חדשים, כדי לוודא הם לא השביתו את הפונקציונליות הקודמת. אסטרטגיה טובה לטיפול בשגיאות היא גם חשיפה כל הנתונים הנחוצים לפתרון בעיות.