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