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