Node.js

Google provides a Node.js client library for interacting with the Ad Manager API.

Prerequisite

To use the Node.js client library, you must have Node.js installed. For more information, see Download Node.js®.

Install the client library

To get started, create a new project in the IDE of your choice or add the dependency to an existing project. Google publishes client library artifacts to npm as @google-ads/admanager.

package.json

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

Command line

npm install @google-ads/admanager

Configure credentials

To authenticate, the Node.js client library uses OAuth2 and Application Default Credentials (ADC). For creating and configuring your ADC credentials, see Authentication.

Make your first request

Each service has a ServiceClient object with methods for each REST method. For examples of each method, see the GitHub repository googleapis/google-cloud-node. The following example reads a Network object:

// 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();

Log HTTP requests and responses

The Node.js client library supports logging HTTP requests and responses. By default, the client library disables logging.

To enable default logging to standard output, set the environment variable GOOGLE_SDK_NODE_LOGGING to a comma-separated list of Google API package names. You can enable logging for all Google APIs by setting the variable value to all. For all available client library package names, see Google Cloud Node.js Client Libraries

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 or 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

Alternatively, you can change the logging backend or hook log events. For more information, see Google Logging Tools.

Handle errors

In the Node.js client library, all Ad Manager API errors throw an exception of type GaxiosError.

Ad Manager API errors include an error message and a unique requestId value you can provide to the API support team. For assistance with troubleshooting, see Contact API support. The following example extracts the requestId value and error message:

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;
  }
}