השגיאות יכולות לנבוע מהגדרה שגויה של הסביבה, באג בתוכנה או קלט לא תקין של משתמש. לא משנה מה המקור, תצטרכו לפתור את הבעיה ולתקן את הקוד או להוסיף לוגיקה כדי לטפל בשגיאת המשתמש. במדריך הזה מפורטות כמה שיטות מומלצות לפתרון שגיאות ב-Google Ads API.
בדיקת החיבור
חשוב לוודא שיש לכם גישה ל-Google Ads API ושההגדרה נכונה. אם התגובה שלכם מחזירה שגיאות HTTP, חשוב לטפל בהן בקפידה ולוודא שאתם מגיעים לשירותים שבהם אתם רוצים להשתמש מהקוד שלכם.
פרטי הכניסה מוטמעים בבקשה כדי שהשירותים יוכלו לאמת אתכם. חשוב להכיר את המבנה של הבקשות והתגובות של Google Ads API, במיוחד אם אתם מתכוונים לטפל בקריאות בלי להשתמש בספריות הלקוח. כל ספריית לקוח מגיעה עם הוראות ספציפיות לגבי הכללת פרטי הכניסה בקובץ התצורה (מומלץ לעיין בקובץ ה-README של ספריית הלקוח).
מוודאים שמשתמשים בפרטי הכניסה הנכונים. במדריך למתחילים מוסבר איך לקבל את קבוצת ההרשאות המתאימה. לדוגמה, כשל בתגובה הבאה מצביע על כך שהמשתמש שלח פרטי כניסה לאימות לא תקינים:
{ "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.match_type'.",
"location": {
"fieldPathElements": [
{ "fieldName": "operations", "index": 1 }
]
}
}
]
}
כל ספריות הלקוח שלנו יוצרות חריגים שמכילים שגיאות בתגובה. כדי להתחיל, כדאי לתעד את החריגות האלה ולהדפיס את ההודעות ביומן או במסך לפתרון בעיות. שילוב המידע הזה עם האירועים האחרים שנרשמו ביומן באפליקציה מספק סקירה כללית טובה של מה שעלול לגרום לבעיה. אחרי שמזהים את השגיאה ביומנים, צריך להבין מה המשמעות שלה.
לבדוק את השגיאה
במסמך שגיאות נפוצות מפורטות השגיאות הנפוצות ביותר. במאמר מוסברת הודעת השגיאה, מפורטים הפניות רלוונטיות ל-API ומוסבר איך להימנע מהשגיאה או לטפל בה.
אם השגיאה לא מוזכרת במאמרי העזרה בנושא שגיאות נפוצות, כדאי לעיין במאמרי העזרה בנושא הפניה ולחפש את מחרוזת השגיאה.
אפשר לעיין בערוצי התמיכה שלנו כדי לקבל גישה למפתחים אחרים שמשתפים את החוויות שלהם עם ה-API. יכול להיות שמישהו אחר נתקל בבעיה שלכם ופתר אותה.
כדי לקבל עזרה בפתרון בעיות שקשורות לאימות או למגבלות בחשבון, אפשר לעבור אל מרכז העזרה של Google Ads. ממשקי Google Ads API יורשים את הכללים והמגבלות של מוצר הליבה של Google Ads.
פוסטים בבלוגים יכולים לפעמים להיות מקור מידע טוב לפתרון בעיות באפליקציה.
אם נתקלתם בשגיאות שלא מתועדות, פנו לתמיכה.
אחרי שחוקרים את השגיאה, צריך לקבוע מהו שורש הבעיה.
מאתרים את הסיבה
כדי לזהות את הגורם לשגיאה, בודקים את הודעת החריגה. אחרי שבודקים את התשובה, בודקים את הבקשה כדי לנסות להבין מה יכולה להיות הסיבה. חלק מהודעות השגיאה של Google Ads API כוללות את fieldPathElements בשדה location של GoogleAdsError, שמציין איפה בבקשה אירעה השגיאה. לדוגמה:
{
"errors": [
{
"errorCode": {"criterionError": "CANNOT_ADD_CRITERIA_TYPE"},
"message": "Criteria type can not be targeted.",
"trigger": { "stringValue": "" },
"location": {
"fieldPathElements": [
{ "fieldName": "operations", "index": 0 },
{ "fieldName": "create" },
{ "fieldName": "keyword" }
]
}
}
]
}
כשפותרים בעיה, יכול להיות שתגלו שהאפליקציה מספקת מידע שגוי ל-API. מומלץ מאוד להשתמש בכלי לניפוי באגים בסביבת פיתוח משולבת (IDE) כדי להגדיר נקודות עצירה, לעבור על הקוד שורה אחר שורה ולבדוק את מטען הבקשה לפני שהוא נשלח.
חשוב לוודא שהבקשה תואמת לנתוני הקלט של האפליקציה (לדוגמה, יכול להיות ששם הקמפיין לא מגיע לבקשה). חשוב לשלוח מסכת שדות שתואמת לעדכונים שרוצים לבצע – Google Ads API תומך בעדכונים חלקיים. אם משמיטים שדה ממסכת השדות בבקשה לשינוי נתונים, ה-API לא ישנה אותו. אם האפליקציה שלכם מאחזרת אובייקט, מבצעת שינוי ושולחת אותו בחזרה, יכול להיות שאתם כותבים לשדה שלא תומך בעדכון. כדאי לבדוק את תיאור השדה במאמרי העזרה כדי לראות אם יש הגבלות על מתי או אם אפשר לעדכן את השדה.
איך אפשר לקבל עזרה?
לא תמיד אפשר לזהות את הבעיה ולפתור אותה לבד. אפשר לפנות אל התמיכה כדי לקבל עזרה.
כדאי לכלול כמה שיותר מידע בשאילתות. הפריטים המומלצים כוללים:
- בקשה ותגובה בפורמט JSON שעברו הסרת תוכן זדוני או רגיש. חשוב להסיר מידע רגיש כמו טוקן גישה ל-OAuth, טוקן רענון ומספרי לקוחות.
- קטעי קוד. אם אתם נתקלים בבעיה שקשורה לשפה ספציפית או אם אתם מבקשים עזרה בעבודה עם ה-API, כדאי לכלול קטע קוד שיסביר מה אתם עושים.
request-id. כך חברי הצוות של Google Developer Relations יוכלו לאתר את הבקשה שלכם אם היא נשלחה לסביבת הייצור. מומלץ לתעד את ה-request-idשנכלל בכותרות של התגובות או בחריגות שמכילות שגיאות בתגובות, וגם הקשר נוסף מעבר ל-request-idבלבד.- מידע נוסף, כמו זמן הריצה או גרסת המפרש והפלטפורמה, יכול להיות שימושי גם לפתרון בעיות.
פותרים את הבעיה
עכשיו, אחרי שהבנתם מה הבעיה ומצאתם פתרון, הגיע הזמן לבצע את השינוי ולבדוק את התיקון בחשבון בדיקה (מומלץ) או בחשבון פעיל (אם הבאג חל רק על נתונים בחשבון פעיל ספציפי).
השלבים הבאים
עכשיו, אחרי שפתרת את הבעיה, האם שמת לב לדרכים שבהן אפשר לשפר את הקוד כדי למנוע את הבעיה מלכתחילה?
יצירת קבוצה טובה של בדיקות יחידה עוזרת לשפר באופן משמעותי את איכות הקוד והמהימנות שלו. הוא גם מזרז את תהליך הבדיקה של שינויים חדשים כדי לוודא שהם לא פוגעים בפונקציונליות הקודמת. אסטרטגיה טובה לטיפול בשגיאות היא גם המפתח להצגת כל הנתונים הדרושים לפתרון בעיות.