Node.js

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 और ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल (एडीसी) का इस्तेमाल करती है. एडीसी क्रेडेंशियल बनाने और उन्हें कॉन्फ़िगर करने के लिए, पुष्टि करना लेख पढ़ें.

अपना पहला अनुरोध करना

हर सेवा में एक 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();

एचटीटीपी अनुरोध और जवाब लॉग करना

Node.js क्लाइंट लाइब्रेरी, एचटीटीपी अनुरोधों और जवाबों को लॉग करने की सुविधा देती है. डिफ़ॉल्ट रूप से, क्लाइंट लाइब्रेरी लॉगिंग की सुविधा बंद कर देती है.

स्टैंडर्ड आउटपुट में डिफ़ॉल्ट लॉगिंग की सुविधा चालू करने के लिए, एनवायरमेंट वैरिएबल GOOGLE_SDK_NODE_LOGGING को Google API पैकेज के नामों की कॉमा लगाकर अलग की गई सूची पर सेट करें. वैरिएबल की वैल्यू को all पर सेट करके, सभी Google API के लिए लॉगिंग की सुविधा चालू की जा सकती है. क्लाइंट लाइब्रेरी के उपलब्ध सभी पैकेज के नाम देखने के लिए, 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 Logging Tools देखें.

गड़बड़ियां ठीक करना

Node.js क्लाइंट लाइब्रेरी में, Ad Manager API की सभी गड़बड़ियां, GaxiosError टाइप का अपवाद दिखाती हैं.

Ad Manager API की गड़बड़ियों में, गड़बड़ी का मैसेज और एक यूनीक 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;
  }
}