มีหลายกรณีที่คุณอาจพบข้อผิดพลาดเมื่อทํางานกับ Display & Video 360 API ซึ่งอาจเกี่ยวข้องกับข้อบกพร่องในโค้ด ข้อมูลที่ผู้ใช้ป้อนไม่ถูกต้อง หรือแม้แต่ปัญหาเกี่ยวกับ API เอง ไม่ว่าจะด้วยเหตุผลใด การเรียนรู้วิธีแก้ปัญหาข้อผิดพลาดก็เป็นส่วนสำคัญของกระบวนการพัฒนา คู่มือนี้จะให้เคล็ดลับแนวทางปฏิบัติแนะนำเพื่อช่วยคุณเริ่มต้นใช้งาน
การตรวจสอบข้อมูลเบื้องต้น
- อ่านคู่มือข้อกําหนดเบื้องต้น ตรวจสอบว่าคุณมีสิทธิ์เข้าถึง Display & Video 360 และโปรเจ็กต์ API ที่กําหนดค่าอย่างถูกต้อง
- หากการตอบกลับมีข้อผิดพลาด HTTP โปรดตรวจสอบข้อผิดพลาดเหล่านี้อย่างละเอียด และตรวจสอบว่ามีการส่งคำขอไปยัง API และบริการที่ถูกต้อง
- อ่านคู่มือการให้สิทธิ์ ตรวจสอบว่าคําขอมีข้อมูลเข้าสู่ระบบ OAuth 2.0 ที่จําเป็น
ตรวจสอบว่าคุณใช้ข้อมูลเข้าสู่ระบบที่ถูกต้อง ดูรายละเอียดเกี่ยวกับการสร้างข้อมูลเข้าสู่ระบบเพื่อตรวจสอบสิทธิ์ได้ที่คู่มือการตั้งค่าแอปพลิเคชัน นอกจากนี้ คุณยังส่งโทเค็นการเข้าถึงไปยังปลายทาง tokeninfo ของ Google OAuth2 API เพื่อยืนยันว่าโทเค็นนั้นออกให้โปรเจ็กต์ API ที่ถูกต้องและให้สิทธิ์สําหรับขอบเขตที่ถูกต้องได้ด้วย โดยทำดังนี้
POST https://www.googleapis.com/oauth2/v2/tokeninfo?access_token={YOUR_ACCESS_TOKEN} 200 OK { "issued_to": "{API_PROJECT_CLIENT_ID}", "audience": "...", "scope": "{API_SCOPES}", "expires_in": ... }
ทำความเข้าใจข้อผิดพลาด
เมื่อ API พบข้อผิดพลาด ปกติแล้วระบบจะแสดงการตอบกลับ JSON ที่มีออบเจ็กต์ error
ออบเจ็กต์นี้จะให้บริบทเพิ่มเติมเกี่ยวกับข้อผิดพลาดที่พบ
{
"error": {
"code": 404,
"message": "Resource type LINE_ITEM does not exist: advertisers/1/lineItems/1",
"status": "NOT_FOUND"
}
}
โดยปกติแล้ว เนื้อหาของออบเจ็กต์ error
จะมีข้อมูลเพียงพอที่จะช่วยให้คุณระบุสิ่งที่ผิดพลาดได้ หากไม่ คุณอาจต้องหาข้อมูลเพิ่มเติมเพื่อดูความหมายของข้อผิดพลาด
การค้นหาข้อผิดพลาด
โปรดดูส่วนข้อผิดพลาดที่พบบ่อย ซึ่งให้รายละเอียดเกี่ยวกับข้อผิดพลาดที่พบบ่อยที่สุด
หากข้อผิดพลาดไม่อยู่ในส่วนข้อผิดพลาดที่พบบ่อย โปรดดูเอกสารอ้างอิงและลองค้นหารหัสข้อผิดพลาด สถานะ และข้อความ
หากคุณพบข้อผิดพลาดที่ไม่ได้บันทึกไว้ โปรดแจ้งให้เราทราบ
การระบุสาเหตุ
ณ จุดนี้ คุณได้ระบุข้อผิดพลาดและเข้าใจความหมายแล้ว หากไม่ ให้กลับไปที่การทำความเข้าใจข้อผิดพลาดหรือข้ามไปที่การรับความช่วยเหลือหากคุณเชื่อว่าพบข้อผิดพลาดใน API ที่แก้ไขด้วยตนเองไม่ได้
คุณต้องระบุสาเหตุของข้อผิดพลาดก่อนจึงจะแก้ไขได้ บ่อยครั้งปัญหานี้เกิดจากข้อบกพร่องในโค้ดหรือค่าอินพุตที่ไม่ถูกต้อง
หากต้องการตรวจสอบว่าปัญหาเกี่ยวข้องกับข้อบกพร่องในโค้ดหรือไม่ คุณควรตรวจสอบก่อนว่าโค้ดทํางานตามที่ตั้งใจไว้ ขั้นตอนแรก ให้พิจารณาตรวจสอบส่วนโค้ดที่ทำให้เกิดคำขอที่ไม่สำเร็จเพื่อหาปัญหาที่เห็นได้ชัด ในบางกรณี คุณอาจต้องใช้เครื่องมือแก้ไขข้อบกพร่องเพื่อตรวจสอบโค้ดทีละบรรทัดเพื่อให้แน่ใจว่าโค้ดทํางานอย่างถูกต้อง
การตรวจสอบคําขอ HTTP เป็นวิธีหนึ่งที่มีประโยชน์ในการระบุข้อบกพร่องที่อาจเกิดขึ้น รวมถึงกรณีที่อินพุตไม่ถูกต้อง ไลบรารีของไคลเอ็นต์อย่างเป็นทางการจํานวนมากสามารถกําหนดค่าให้บันทึกคําขอและคําตอบ HTTP โปรดอ่านเอกสารประกอบของไลบรารีที่เลือกเพื่อดูรายละเอียดเพิ่มเติม นอกจากนี้ คุณยังใช้พร็อกซี HTTP เช่น Charles, Squid หรือ Fiddler เพื่อบันทึกบันทึกคําขอและการตอบกลับได้ด้วย เมื่อได้รับบันทึกเหล่านี้แล้ว ให้ตรวจสอบว่าค่าพารามิเตอร์คำขอที่แอปพลิเคชันของคุณระบุนั้นถูกต้องและตรงกับที่คุณคาดหวัง
เมื่อพบข้อบกพร่องหรืออินพุตที่ไม่ถูกต้องซึ่งทำให้เกิดข้อผิดพลาดแล้ว การแก้ไขก็น่าจะชัดเจน อย่างไรก็ตาม หากติดขัดหรือไม่แน่ใจว่าวิธีใดดีที่สุดในการแก้ไขปัญหา คุณสามารถใช้ข้อมูลที่รวบรวมไว้จนถึงตอนนี้เมื่อขอความช่วยเหลือได้
การขอความช่วยเหลือ
หากแก้ไขข้อผิดพลาดด้วยตนเองไม่ได้ โปรดติดต่อทีมสนับสนุนผ่านแบบฟอร์มนี้ในศูนย์ช่วยเหลือของ Display & Video 360
เมื่อกรอกแบบฟอร์มนี้ คุณควรระบุข้อมูลเกี่ยวกับปัญหาที่คุณพบและขั้นตอนแก้ปัญหาที่คุณได้ทำไปแล้วให้มากที่สุด ข้อมูลที่เป็นประโยชน์ที่ควรระบุมีดังนี้
- บันทึกคำขอและการตอบกลับ HTTP อย่าลืมปกปิดข้อมูลที่มีความละเอียดอ่อน เช่น โทเค็นการเข้าถึง OAuth 2.0, อีเมล ฯลฯ
- ข้อมูลโค้ด หากแยกปัญหาไปยังส่วนใดส่วนหนึ่งของโค้ดได้หรือสงสัยว่าปัญหาเกี่ยวข้องกับภาษาใดภาษาหนึ่ง ให้ใส่ข้อมูลโค้ดสั้นๆ เพื่อแสดงสิ่งที่คุณทํา
- ข้อมูลเพิ่มเติม เช่น เวอร์ชันรันไทม์/อินเทอร์พรีเตอร์และแพลตฟอร์ม ซึ่งอาจเป็นประโยชน์สำหรับผู้อื่นที่พยายามจะจำลองปัญหา
การแก้ปัญหา
เมื่อระบุสาเหตุของปัญหาและหาวิธีแก้ปัญหาได้แล้ว ก็ถึงเวลานำวิธีแก้ปัญหาไปใช้งาน เมื่อเป็นไปได้ ให้ทดสอบการแก้ไขในสภาพแวดล้อมที่มีการควบคุม (เช่น พาร์ทเนอร์หรือผู้ลงโฆษณาที่กําหนดค่ามาเพื่อการทดสอบโดยเฉพาะ) กับอินพุตทั้งที่ดีและไม่ดีหลายรายการก่อนที่จะนำไปใช้งานจริง