Node.js

গুগল অ্যাড ম্যানেজার এপিআই-এর সাথে যোগাযোগের জন্য একটি নোড.জেএস ক্লায়েন্ট লাইব্রেরি প্রদান করে।

পূর্বশর্ত

Node.js ক্লায়েন্ট লাইব্রেরি ব্যবহার করার জন্য আপনার কম্পিউটারে Node.js ইনস্টল করা থাকতে হবে। আরও তথ্যের জন্য, Download Node.js® দেখুন।

ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন

শুরু করার জন্য, আপনার পছন্দের IDE-তে একটি নতুন প্রজেক্ট তৈরি করুন অথবা একটি বিদ্যমান প্রজেক্টে ডিপেন্ডেন্সিটি যোগ করুন। গুগল ক্লায়েন্ট লাইব্রেরি আর্টিফ্যাক্টগুলো npm-এ @google-ads/admanager নামে প্রকাশ করে।

প্যাকেজ.json

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

কমান্ড লাইন

npm install @google-ads/admanager

পরিচয়পত্র কনফিগার করুন

প্রমাণীকরণের জন্য, Node.js ক্লায়েন্ট লাইব্রেরি OAuth2 এবং অ্যাপ্লিকেশন ডিফল্ট ক্রেডেনশিয়ালস (ADC) ব্যবহার করে। আপনার ADC ক্রেডেনশিয়ালস তৈরি এবং কনফিগার করার জন্য, প্রমাণীকরণ (Authentication ) দেখুন।

আপনার প্রথম অনুরোধটি করুন

প্রতিটি সার্ভিসের একটি ServiceClient অবজেক্ট থাকে, যেখানে প্রতিটি REST মেথডের জন্য মেথডসমূহ অন্তর্ভুক্ত থাকে। প্রতিটি মেথডের উদাহরণের জন্য, 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 এনভায়রনমেন্ট ভেরিয়েবলটিকে গুগল এপিআই প্যাকেজের নামগুলোর একটি কমা-বিভক্ত তালিকা হিসেবে সেট করুন। ভেরিয়েবলের মান ' all সেট করে আপনি সমস্ত গুগল এপিআই-এর জন্য লগিং চালু করতে পারেন। সমস্ত উপলব্ধ ক্লায়েন্ট লাইব্রেরি প্যাকেজের নাম জানতে, 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';

লিনাক্স বা ম্যাকওএস

# 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

বিকল্পভাবে, আপনি লগিং ব্যাকএন্ড পরিবর্তন করতে পারেন অথবা লগ ইভেন্ট হুক করতে পারেন। আরও তথ্যের জন্য, গুগল লগিং টুলস দেখুন।

ত্রুটিগুলি পরিচালনা করুন

Node.js ক্লায়েন্ট লাইব্রেরিতে, Ad Manager API-এর সকল ত্রুটির ফলে GaxiosError টাইপের একটি এক্সেপশন থ্রো হয়।

অ্যাড ম্যানেজার এপিআই ত্রুটিগুলিতে একটি ত্রুটি বার্তা এবং একটি অনন্য requestId মান অন্তর্ভুক্ত থাকে যা আপনি এপিআই সাপোর্ট টিমকে প্রদান করতে পারেন। সমস্যা সমাধানে সহায়তার জন্য, এপিআই সাপোর্টের সাথে যোগাযোগ করুন দেখুন। নিম্নলিখিত উদাহরণটি 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;
  }
}