YouTube จะสร้างชุดรายงานรายได้จากโฆษณาที่จัดการโดยระบบโดยอัตโนมัติสำหรับเจ้าของเนื้อหาที่มีสิทธิ์เข้าถึงรายงานที่เกี่ยวข้องใน Creator Studio รายงานเหล่านี้ออกแบบมาเพื่อให้คุณเข้าถึงข้อมูลด้วยโปรแกรมอัจฉริยะซึ่งยังอยู่ในรายงานที่ดาวน์โหลดได้ด้วยตนเองซึ่งเข้าถึงได้ในเมนูรายงานของ YouTube Creator Studio
หมายเหตุ: API ให้สิทธิ์เข้าถึงชุดรายงานที่แตกต่างจาก Creator Studio แม้ว่ารายงานจะมีข้อมูลที่คล้ายกันก็ตาม รายงาน API อาจมีช่องแตกต่างกัน และยังใช้ชื่อช่องต่างจากรายงานใน Creator Studio ด้วย
เนื่องจาก YouTube จะสร้างรายงานที่จัดการโดยระบบโดยอัตโนมัติ กระบวนการเรียกรายงานเหล่านี้จึงแตกต่างจากรายงานข้อมูลจำนวนมากของ YouTube Analytics ที่ให้บริการผ่าน API
การเรียกดูรายงาน
ขั้นตอนต่อไปนี้อธิบายวิธีเรียกรายงานที่จัดการโดยระบบผ่าน API
ขั้นตอนที่ 1: เรียกข้อมูลเข้าสู่ระบบการให้สิทธิ์
คำขอ API การรายงานของ YouTube ทั้งหมดต้องได้รับอนุญาต คู่มือการให้สิทธิ์จะอธิบายวิธีใช้โปรโตคอล OAuth 2.0 เพื่อเรียกโทเค็นการให้สิทธิ์
คำขอ API การรายงานของ YouTube ใช้ขอบเขตการให้สิทธิ์ต่อไปนี้
ขอบเขต | |
---|---|
https://www.googleapis.com/auth/yt-analytics.readonly | ดูรายงาน Analytics ของ YouTube สำหรับเนื้อหา YouTube ของคุณ ขอบเขตนี้ให้สิทธิ์เข้าถึงเมตริกกิจกรรมของผู้ใช้ เช่น ยอดดูและการนับคะแนน |
https://www.googleapis.com/auth/yt-analytics-monetary.readonly | ดูรายงานการเงินของ YouTube Analytics สำหรับเนื้อหา YouTube ของคุณ ขอบเขตนี้ให้สิทธิ์เข้าถึงเมตริกกิจกรรมของผู้ใช้ เมตริกรายได้โดยประมาณและเมตริกประสิทธิภาพโฆษณา |
ขั้นตอนที่ 2: ดึงรหัสงานสำหรับรายงานที่ต้องการ
เรียกใช้เมธอด jobs.list
เพื่อเรียกรายการงานที่จัดการโดยระบบ ตั้งค่าพารามิเตอร์ includeSystemManaged
เป็น true
พร็อพเพอร์ตี้ reportTypeId
ในทรัพยากร Job
ที่แสดงผลแต่ละรายการจะระบุประเภทของรายงานที่จัดการโดยระบบซึ่งเชื่อมโยงกับงานนั้น แอปพลิเคชันของคุณต้องใช้ค่าพร็อพเพอร์ตี้ id
จากทรัพยากรเดียวกันในขั้นตอนต่อไปนี้
เอกสารรายงานจะแสดงรายงานที่ใช้ได้ รหัสประเภทรายงาน และช่องที่มี คุณยังใช้เมธอด reportTypes.list
เพื่อเรียกข้อมูลรายการประเภทรายงานที่รองรับได้ด้วย
ขั้นตอนที่ 3: ดึง URL สำหรับดาวน์โหลดรายงาน
เรียกใช้เมธอด jobs.reports.list
เพื่อดึงรายการรายงานที่สร้างขึ้นสําหรับงาน ในคำขอ ให้ตั้งค่าพารามิเตอร์ jobId
เป็นรหัสงานของรายงานที่ต้องการดึงข้อมูล
คุณสามารถกรองรายการรายงานโดยใช้พารามิเตอร์ต่อไปนี้อันใดอันหนึ่งหรือทั้งหมดก็ได้
-
ใช้พารามิเตอร์
createdAfter
เพื่อระบุว่า API ควรแสดงรายงานที่สร้างหลังจากเวลาที่ระบุเท่านั้น คุณใช้พารามิเตอร์นี้เพื่อให้มั่นใจว่า API จะแสดงเฉพาะรายงานที่ยังไม่ได้ประมวลผลเท่านั้น -
ใช้พารามิเตอร์
startTimeBefore
เพื่อระบุว่าการตอบกลับของ API ควรมีรายงานก็ต่อเมื่อข้อมูลแรกสุดในรายงานอยู่ก่อนวันที่ที่ระบุ ในขณะที่พารามิเตอร์createdAfter
จะเกี่ยวข้องกับเวลาที่สร้างรายงาน แต่วันที่นี้จะเกี่ยวข้องกับข้อมูลในรายงาน -
ใช้พารามิเตอร์
startTimeAtOrAfter
เพื่อระบุว่าการตอบสนองของ API ควรมีรายงานต่อเมื่อข้อมูลแรกสุดในรายงานเป็นวันที่แรกหรือหลังจากวันที่ที่ระบุเท่านั้น ค่าพารามิเตอร์นี้สอดคล้องกับข้อมูลในรายงาน ไม่ใช่เวลาที่สร้างรายงาน เช่นเดียวกับพารามิเตอร์startTimeBefore
การตอบกลับของ API มีรายการทรัพยากร Report
รายการสำหรับงานนั้น แหล่งข้อมูลแต่ละรายการหมายถึงรายงานที่มีข้อมูลสำหรับช่วงเวลาที่ไม่ซ้ำกัน
- พร็อพเพอร์ตี้
startTime
และendTime
ของทรัพยากรระบุระยะเวลาที่ครอบคลุมข้อมูลของรายงาน - พร็อพเพอร์ตี้
downloadUrl
ของทรัพยากรระบุ URL ที่ดึงรายงานได้ - พร็อพเพอร์ตี้
createTime
ของทรัพยากรระบุวันที่และเวลาที่สร้างรายงาน แอปพลิเคชันของคุณควรเก็บค่านี้ไว้และใช้เพื่อระบุว่ารายงานที่ดาวน์โหลดก่อนหน้านี้มีการเปลี่ยนแปลงหรือไม่
ขั้นตอนที่ 4: ดาวน์โหลดรายงาน
ส่งคำขอ HTTP GET ไปยัง downloadUrl
ที่ได้ไว้ในขั้นตอนที่ 4 เพื่อเรียกรายงาน
รายงานการประมวลผล
แนวทางปฏิบัติแนะนำ
แอปพลิเคชันที่ใช้ YouTube Reporting API ควรเป็นไปตามแนวทางปฏิบัติต่อไปนี้เสมอ
-
ใช้แถวส่วนหัวของรายงานเพื่อกำหนดลำดับคอลัมน์ในรายงาน ตัวอย่างเช่น อย่าคิดไปเองว่าข้อมูลพร็อพเพอร์ตี้จะเป็นเมตริกแรกที่แสดงผลในรายงานเพียงเพราะเป็นเมตริกแรกที่แสดงในคำอธิบายรายงาน แต่ให้ใช้แถวส่วนหัวของรายงานเพื่อพิจารณาว่าคอลัมน์ใดมีข้อมูลดังกล่าวแทน
-
เก็บบันทึกรายงานที่คุณดาวน์โหลดไว้เพื่อหลีกเลี่ยงไม่ให้ได้รับการประมวลผลรายงานเดิมซ้ำอีก รายการต่อไปนี้จะแสดงวิธีการ 2-3 วิธี
-
เมื่อเรียกเมธอด
reports.list
ให้ใช้พารามิเตอร์ createdAfter เพื่อดึงเฉพาะรายงานที่สร้างหลังจากวันที่ที่กำหนดเท่านั้น (ละเว้นพารามิเตอร์createdAfter
ในครั้งแรกที่เรียกดูรายงาน)ทุกครั้งที่คุณเรียกดูและประมวลผลรายงานสำเร็จ ให้จัดเก็บการประทับเวลาที่สอดคล้องกับวันที่และเวลาเมื่อมีการสร้างรายงานใหม่ที่สุด จากนั้นอัปเดตค่าพารามิเตอร์
createdAfter
ในการเรียกเมธอดreports.list
แบบต่อเนื่องกันแต่ละครั้งเพื่อให้แน่ใจว่าคุณจะดึงเฉพาะรายงานใหม่ ซึ่งรวมถึงรายงานใหม่ที่มีข้อมูลทดแทนทุกครั้งที่คุณเรียกใช้ APIเพื่อเป็นการป้องกัน ก่อนเรียกรายงาน ให้ตรวจสอบว่า ID ของรายงานไม่ได้แสดงอยู่ในฐานข้อมูลของคุณอยู่แล้ว
-
จัดเก็บรหัสของรายงานแต่ละฉบับที่คุณได้ดาวน์โหลดและประมวลผลแล้ว คุณยังจัดเก็บข้อมูลเพิ่มเติม เช่น วันที่และเวลาที่สร้างรายงานแต่ละฉบับหรือ
startTime
และendTime
ของรายงาน ซึ่งเมื่อรวมกันแล้วจะระบุระยะเวลาที่รายงานมีข้อมูล สําหรับรายงานที่ดึงข้อมูลจํานวนมากสําหรับ YouTube Analytics งานแต่ละงานมีแนวโน้มที่จะมีรายงานจํานวนมาก เนื่องจากรายงานแต่ละฉบับมีข้อมูลระยะเวลา 24 ชั่วโมง งานที่จัดการโดยระบบซึ่งครอบคลุมระยะเวลาที่นานกว่าจะมีรายงานน้อยลงใช้รหัสรายงานเพื่อระบุรายงานที่คุณยังต้องดาวน์โหลดและนำเข้า อย่างไรก็ตาม หากรายงานใหม่ 2 รายการมีค่าพร็อพเพอร์ตี้
startTime
และendTime
เหมือนกัน ให้นำเข้าเฉพาะรายงานที่มีค่าcreateTime
ที่ใหม่กว่าเท่านั้น
-
ลักษณะเฉพาะของรายงาน
รายงาน API คือไฟล์ .csv
(ค่าที่คั่นด้วยคอมมา) เวอร์ชันที่มีลักษณะเฉพาะต่อไปนี้
-
แต่ละรายงานจะมีข้อมูลสำหรับช่วงเวลาที่ไม่ซ้ำ ซึ่งมีตั้งแต่ 00:00 น. ตามเวลาแปซิฟิกในวันที่เริ่มต้นของรายงาน จนถึง 23:59 น. ตามเวลาแปซิฟิกในวันที่สิ้นสุดของรายงาน
-
ไม่ได้จัดเรียงข้อมูลรายงาน