Node.js

Google มีไลบรารีของไคลเอ็นต์ Node.js สำหรับโต้ตอบกับ Ad Manager API

วิชาบังคับก่อน

หากต้องการใช้ไลบรารีของไคลเอ็นต์ Node.js คุณต้องติดตั้ง Node.js ดูข้อมูลเพิ่มเติมได้ที่ ดาวน์โหลด Node.js®

ติดตั้งไลบรารีของไคลเอ็นต์

หากต้องการเริ่มต้นใช้งาน ให้สร้างโปรเจ็กต์ใหม่ใน IDE ที่คุณเลือก หรือเพิ่มทรัพยากร Dependency ลงในโปรเจ็กต์ที่มีอยู่ 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 จะมีข้อความแสดงข้อผิดพลาดและค่า 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;
  }
}