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