Google, Ad Manager API-এর সাথে ইন্টার্যাক্ট করার জন্য Node.js ক্লায়েন্ট লাইব্রেরি প্রদান করে।
পূর্বশর্ত
Node.js ক্লায়েন্ট লাইব্রেরি ব্যবহার করতে, আপনার ডিভাইসে Node.js ইনস্টল করা থাকতে হবে। আরও তথ্যের জন্য, Node.js® ডাউনলোড করুন দেখুন।
ক্লায়েন্ট লাইব্রেরি ইনস্টল করা
শুরু করতে, আপনার পছন্দের IDE-তে একটি নতুন প্রোজেক্ট তৈরি করুন অথবা আগে থেকে থাকা প্রোজেক্টে
ডিপেন্ডেন্সি যোগ করুন। Google ক্লায়েন্ট লাইব্রেরি আর্টিফ্যাক্টকে
npm-এ
@google-ads/admanager হিসেবে প্রকাশ করে।
package.json
"dependencies": {
"@google-ads/admanager": "^0.15.0"
}
কমান্ড লাইন
npm install @google-ads/admanager
ক্রেডেনশিয়াল কনফিগার করা
প্রমাণীকরণ করতে, Node.js ক্লায়েন্ট লাইব্রেরি OAuth2 এবং অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়াল (ADC) ব্যবহার করে। আপনার ADC ক্রেডেনশিয়াল তৈরি ও কনফিগার করার জন্য, যাচাইকরণ দেখুন।
আপনার প্রথম অনুরোধ করা
প্রতিটি পরিষেবায় ServiceClient অবজেক্ট থাকে এবং প্রতিটি REST পদ্ধতির জন্য আলাদা আলাদা মেথড থাকে।
প্রতিটি পদ্ধতির উদাহরণ দেখতে, GitHub রিপোজিটরি দেখুন
googleapis/google-cloud-node।
নিচের উদাহরণটি একটি a
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 হিসেবে সেট করতে পারেন। উপলভ্য সব ক্লায়েন্ট লাইব্রেরি প্যাকেজের নামের জন্য, দেখুন
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;
}
}