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

หรือจะเปลี่ยนแบ็กเอนด์การบันทึกหรือเหตุการณ์บันทึก Hook ก็ได้ ดูข้อมูลเพิ่มเติมได้ที่เครื่องมือการบันทึกของ 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;
  }
}