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 套件名稱清單。如要為所有 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 錯誤會包含錯誤訊息和可提供給 API 支援團隊的專屬 requestId 值。如需疑難排解方面的協助,請參閱「與 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;
  }
}