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