گوگل یک کتابخانه کلاینت Node.js برای تعامل با رابط برنامهنویسی کاربردی (API) مدیریت تبلیغات (Ad Manager) ارائه میدهد.
پیشنیاز
برای استفاده از کتابخانه کلاینت Node.js، باید Node.js را نصب کرده باشید. برای اطلاعات بیشتر، به دانلود Node.js® مراجعه کنید.
کتابخانه کلاینت را نصب کنید
برای شروع، یک پروژه جدید در IDE مورد نظر خود ایجاد کنید یا وابستگی را به یک پروژه موجود اضافه کنید. گوگل مصنوعات کتابخانه کلاینت را با نام @google-ads/admanager در npm منتشر میکند.
بسته.json
"dependencies": {
"@google-ads/admanager": "^0.4.0"
}
خط فرمان
npm install @google-ads/admanager
پیکربندی اعتبارنامهها
برای احراز هویت، کتابخانه کلاینت Node.js از OAuth2 و Application Default Credentials (ADC) استفاده میکند. برای ایجاد و پیکربندی اعتبارنامههای ADC خود، به بخش احراز هویت مراجعه کنید.
اولین درخواست خود را مطرح کنید
هر سرویس یک شیء ServiceClient با متدهایی برای هر متد 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 که با کاما از هم جدا شدهاند، تنظیم کنید. میتوانید با تنظیم مقدار متغیر روی all ، ثبت وقایع را برای همه APIهای Google فعال کنید. برای مشاهده همه نامهای بستههای کتابخانه کلاینت موجود، به Google Cloud Node.js Client Libraries مراجعه کنید.
نود جی اس
// 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';
لینوکس یا 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
ویندوز
# 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
به عنوان یک روش جایگزین، میتوانید backend مربوط به ثبت وقایع را تغییر دهید یا رویدادهای ثبت وقایع را به آن متصل کنید. برای اطلاعات بیشتر، به Google Logging Tools مراجعه کنید.
مدیریت خطاها
در کتابخانه کلاینت Node.js، تمام خطاهای Ad Manager API یک استثنا از نوع GaxiosError ایجاد میکنند.
خطاهای 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;
}
}