Google מספקת ספריית לקוח של Node.js לאינטראקציה עם Ad Manager API.
דרישות מוקדמות
כדי להשתמש בספריית הלקוח של Node.js, צריך להתקין את Node.js. מידע נוסף זמין במאמר בנושא הורדת Node.js®.
התקנת ספריית הלקוח
כדי להתחיל, יוצרים פרויקט חדש בסביבת הפיתוח המשולבת (IDE) שבחרתם או מוסיפים את התלות לפרויקט קיים. Google מפרסמת ארטיפקטים של ספריות לקוח ב-npm בתור @google-ads/admanager
.
package.json
"dependencies": {
"@google-ads/admanager": "^0.4.0"
}
שורת הפקודה
npm install @google-ads/admanager
הגדרת פרטי כניסה
כדי לבצע אימות, ספריית הלקוח של Node.js משתמשת ב-OAuth2 וב-Application Default Credentials (ADC). במאמר אימות מוסבר איך ליצור ולהגדיר את פרטי הכניסה של ADC.
שליחת הבקשה הראשונה
לכל שירות יש אובייקט ServiceClient
עם methods לכל method של REST.
דוגמאות לכל שיטה אפשר לראות במאגר GitHub googleapis/google-cloud-node
.
בדוגמה הבאה קוראים אובייקט 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 API על ידי הגדרת ערך המשתנה ל-all
. לרשימה של כל שמות החבילות של ספריות הלקוח, אפשר לעיין במאמר בנושא ספריות לקוח של Node.js ב-Google Cloud
.
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;
}
}