Node.js

‫Google מספקת ספריית לקוח של Node.js לאינטראקציה עם Ad Manager API.

דרישות מוקדמות

כדי להשתמש בספריית הלקוח של Node.js, צריך להתקין את Node.js. למידע נוסף, קראו את המאמר הורדת ®Node.js.

התקנת ספריית הלקוח

כדי להתחיל, יוצרים פרויקט חדש ב-IDE שבחרתם או מוסיפים את התלות לפרויקט קיים. ‫Google מפרסמת פריטי מידע שנוצרו בתהליך הפיתוח (artifacts) של ספריית הלקוח ב-npm בתור @google-ads/admanager.

package.json

"dependencies": {
  "@google-ads/admanager": "^0.15.0"
}

שורת הפקודה

npm install @google-ads/admanager

הגדרת פרטי כניסה

כדי לבצע אימות, ספריית הלקוח של Node.js משתמשת ב-OAuth2 וב-Application Default Credentials ‏(ADC). במאמר אימות מוסבר איך יוצרים ומגדירים את פרטי הכניסה ל-ADC.

שליחת הבקשה הראשונה

לכל שירות יש אובייקט ServiceClient עם שיטות לכל שיטת REST. דוגמאות לכל שיטה מופיעות במאגר googleapis/google-cloud-node ב-GitHub. בדוגמה הבאה קוראים אובייקט Network:

// Resource name of the Network
const name = 'networks/NETWORK_CODE'

// Imports the Admanager library
const {NetworkServiceClient} = require('@google-ads/admanager').v1;

// Instantiates a client
const admanagerClient = new NetworkServiceClient();

async function callGetNetwork() {
  // Construct request
  const request = {
    name,
  };

  // Run request
  const response = await admanagerClient.getNetwork(request);
  console.log(response);
}

callGetNetwork();

רישום ביומן של בקשות ותגובות HTTP

ספריית הלקוח של Node.js תומכת ברישום ביומן של בקשות ותגובות HTTP. כברירת מחדל, ספריית הלקוח משביתה את הרישום ביומן.

כדי להפעיל רישום ביומן כברירת מחדל לפלט סטנדרטי, מגדירים את משתנה הסביבה GOOGLE_SDK_NODE_LOGGING לרשימה מופרדת בפסיקים של שמות חבילות של Google API. כדי להפעיל את הרישום ביומן לכל Google APIs, מגדירים את ערך המשתנה ל-all. כדי לראות את כל השמות הזמינים של חבילות ספריות הלקוח, עיינו במאמר ספריות הלקוח של Google Cloud ב-Node.js.

Node.js

// Enable logging for the Google Ad Manager API
process.env.GOOGLE_SDK_NODE_LOGGING = 'admanager';

// Enable logging for the Google Ad Manager and pubsub APIs.
process.env.GOOGLE_SDK_NODE_LOGGING = 'admanager,pubsub';

// Enable logging for all Google APIs
process.env.GOOGLE_SDK_NODE_LOGGING = 'all';

Linux או macOS

# Enable logging for the Google Ad Manager API.
export GOOGLE_SDK_NODE_LOGGING=admanager

# Enable logging for the Google Ad Manager and pubsub APIs.
export GOOGLE_SDK_NODE_LOGGING=admanager,pubsub

# Enable logging for all Google APIs
export GOOGLE_SDK_NODE_LOGGING=all

Windows

# Enable logging for the Google Ad Manager API.
set GOOGLE_SDK_NODE_LOGGING=admanager

# Enable logging for the Google Ad Manager and pubsub APIs.
set GOOGLE_SDK_NODE_LOGGING=admanager,pubsub

# Enable logging for all Google APIs
set GOOGLE_SDK_NODE_LOGGING=all

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

טיפול בשגיאות

בספריית הלקוח של Node.js, כל השגיאות ב-Ad Manager API גורמות לחריגה מסוג GaxiosError.

השגיאות ב-Ad Manager API כוללות הודעת שגיאה וערך requestId ייחודי שאפשר לספק לצוות התמיכה של ה-API. לקבלת עזרה בפתרון בעיות, אפשר לפנות לתמיכה ב-API. בדוגמה הבאה מחלצים את הערך של requestId ואת הודעת השגיאה:

const admanagerClient = new NetworkServiceClient();
try {
  const network = admanagerClient.getNetwork(
    { name: 'networks/NETWORK_CODE' }
  );
  console.log(network);
} catch(e) {
  if (e instanceof GaxiosError) {
    // Load the error
    const apiError = JSON.parse(e.message).error;
    const requestInfoType = 'type.googleapis.com/google.rpc.RequestInfo';
    const requestInfo = apiError.details.find(detail => detail['@type'] === requestInfoType);
    console.error(apiError.status + ' - ' + apiError.message);
    console.error('RequestId: ' + requestInfo.requestId);
  } else {
    throw e;
  }
}