Node.js

Google 提供了一个 Node.js 客户端库,用于与 Ad Manager API 互动。

前提条件

如需使用 Node.js 客户端库,您必须安装 Node.js。如需了解详情,请参阅下载 Node.js®

安装客户端库

首先,在您选择的 IDE 中创建一个新项目,或将依赖项添加到现有项目中。Google 会将客户端库制品发布到 npm,作为 @google-ads/admanager

package.json

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

命令行

npm install @google-ads/admanager

配置凭据

为了进行身份验证,Node.js 客户端库使用 OAuth2 和应用默认凭据 (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,以针对所有 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 工具

处理错误

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