สำคัญ: ตอนนี้คำขอ API ที่ส่งไปยังเมธอดนี้ต้องการสิทธิ์เข้าถึงขอบเขต https://www.googleapis.com/auth/youtube.readonly
วิธีนี้ช่วยให้คุณเรียกดูรายงาน Analytics ที่แตกต่างกันได้มากมาย คำขอแต่ละรายการจะใช้พารามิเตอร์การค้นหาเพื่อระบุรหัสช่องหรือเจ้าของเนื้อหา วันที่เริ่มต้น วันที่สิ้นสุด และเมตริกอย่างน้อย 1 รายการ นอกจากนี้ คุณยังระบุพารามิเตอร์การค้นหาเพิ่มเติม เช่น มิติข้อมูล ตัวกรอง และวิธีการจัดเรียงได้ด้วย
- เมตริกคือการวัดกิจกรรมของผู้ใช้แต่ละแบบ เช่น ยอดดูวิดีโอหรือการให้คะแนน (การชอบและไม่ชอบ)
- มิติข้อมูลเป็นเกณฑ์ทั่วไปที่ใช้ในการรวบรวมข้อมูล เช่น วันที่เกิดกิจกรรมของผู้ใช้หรือประเทศที่ผู้ใช้อาศัยอยู่ ในรายงาน ข้อมูลแต่ละแถวจะมีชุดค่าผสมของมิติข้อมูลที่ไม่ซ้ำกัน
- ตัวกรองคือค่ามิติข้อมูลซึ่งระบุข้อมูลที่ดึงมา เช่น คุณอาจดึงข้อมูลสำหรับประเทศที่ต้องการ วิดีโอใดวิดีโอหนึ่ง หรือกลุ่มวิดีโอหนึ่งๆ
หมายเหตุ: เฉพาะพาร์ทเนอร์เนื้อหาของ YouTube ที่เข้าร่วมโปรแกรมพาร์ทเนอร์ YouTube เท่านั้นที่จะใช้รายงานเจ้าของเนื้อหาได้
Use Case ทั่วไป
ส่งคำขอ
คำขอ HTTP
GET https://youtubeanalytics.googleapis.com/v2/reports
คำขอ API ของ YouTube Analytics ทั้งหมดต้องได้รับอนุญาต คำแนะนำการให้สิทธิ์จะอธิบายวิธีใช้โปรโตคอล OAuth 2.0 เพื่อเรียกโทเค็นการให้สิทธิ์
คำขอ API ของ YouTube Analytics ใช้ขอบเขตการให้สิทธิ์ต่อไปนี้
ขอบเขต | |
---|---|
https://www.googleapis.com/auth/yt-analytics.readonly | ดูรายงาน Analytics ของ YouTube สำหรับเนื้อหา YouTube ของคุณ ขอบเขตนี้จะให้สิทธิ์เข้าถึงเมตริกกิจกรรมของผู้ใช้ เช่น ยอดดูและการนับคะแนน |
https://www.googleapis.com/auth/yt-analytics-monetary.readonly | ดูรายงานการเงินของ YouTube Analytics สำหรับเนื้อหา YouTube ของคุณ ขอบเขตนี้ให้สิทธิ์เข้าถึงเมตริกกิจกรรมของผู้ใช้ เมตริกรายได้โดยประมาณและประสิทธิภาพโฆษณา |
https://www.googleapis.com/auth/youtube | จัดการบัญชี YouTube ของคุณ ใน API ของ YouTube Analytics เจ้าของช่องจะใช้ขอบเขตนี้เพื่อจัดการกลุ่มและรายการของกลุ่มใน YouTube Analytics |
https://www.googleapis.com/auth/youtubepartner | ดูและจัดการเนื้อหา YouTube และเนื้อหาที่เกี่ยวข้องบน YouTube ใน API ของ YouTube Analytics เจ้าของเนื้อหาจะใช้ขอบเขตนี้เพื่อจัดการกลุ่มและรายการของกลุ่มใน YouTube Analytics |
พารามิเตอร์
ตารางต่อไปนี้แสดงรายการพารามิเตอร์การค้นหาที่จําเป็นและไม่บังคับสําหรับคําขอ API ในการดึงข้อมูลรายงานการค้นหา พารามิเตอร์การค้นหามาตรฐานที่แสดงในตารางเป็นพารามิเตอร์ที่ไม่บังคับและยังรองรับโดย Google API จำนวนมาก
พารามิเตอร์ | ||
---|---|---|
พารามิเตอร์ที่จำเป็น | ||
endDate |
string วันที่สิ้นสุดในการดึงข้อมูล YouTube Analytics ค่าควรอยู่ในรูปแบบ YYYY-MM-DD การตอบกลับของ API มีข้อมูลจนถึงวันสุดท้ายที่เมตริกทั้งหมดในการค้นหาพร้อมใช้งาน ณ เวลาที่ทำการค้นหา ตัวอย่างเช่น หากคำขอระบุวันที่สิ้นสุดเป็นวันที่ 5 กรกฎาคม 2017 และค่าสำหรับเมตริกที่ขอทั้งหมดใช้ได้จนถึงวันที่ 3 กรกฎาคม 2017 ข้อมูลเหล่านั้นจะเป็นวันสุดท้ายที่รวมข้อมูลไว้ในการตอบกลับ (กรณีนี้จะเกิดขึ้นแม้ว่าข้อมูลสำหรับเมตริกที่ขอบางรายการจะพร้อมใช้งานในวันที่ 4 กรกฎาคม 2017) หมายเหตุ: ในเวอร์ชัน 1 ของ API พารามิเตอร์นี้มีชื่อว่า end-date |
|
ids |
string ระบุช่อง YouTube หรือเจ้าของเนื้อหาที่คุณต้องการดึงข้อมูล YouTube Analytics
|
|
metrics |
string รายการเมตริก YouTube Analytics ที่คั่นด้วยคอมมา เช่น views หรือ likes,dislikes โปรดดูเอกสารสำหรับรายงานแชแนลหรือรายงานเจ้าของเนื้อหาสําหรับรายการรายงานที่คุณเรียกข้อมูลได้และเมตริกที่ใช้ได้ในแต่ละรายงาน (เอกสารเมตริกมีคําจํากัดความของเมตริกทั้งหมด)
|
|
startDate |
string วันที่เริ่มต้นการดึงข้อมูล YouTube Analytics ค่าควรอยู่ในรูปแบบ YYYY-MM-DD หมายเหตุ: ในเวอร์ชัน 1 ของ API พารามิเตอร์นี้มีชื่อว่า
start-date |
|
พารามิเตอร์ที่ไม่บังคับ | ||
currency |
string สกุลเงินที่ API จะใช้เพื่อระบุเมตริกรายได้โดยประมาณ ได้แก่ estimatedRevenue, estimatedAdRevenue, estimatedRedPartnerRevenue, grossRevenue, cpm, playbackBasedCpm ค่าที่ API แสดงสำหรับเมตริกเหล่านั้นจะเป็นค่าประมาณที่คำนวณโดยใช้อัตราแลกเปลี่ยนที่เปลี่ยนแปลงในแต่ละวัน หากไม่มีการขอเมตริกดังกล่าว ระบบจะไม่สนใจพารามิเตอร์ ค่าพารามิเตอร์คือรหัสสกุลเงิน 3 ตัวอักษรตามมาตรฐาน ISO 4217 จากรายการสกุลเงินด้านล่าง API จะแสดงข้อผิดพลาดหากระบุสกุลเงินที่ไม่รองรับ ค่าเริ่มต้นคือ USD |
|
dimensions |
string รายการมิติข้อมูล YouTube Analytics ที่คั่นด้วยคอมมา เช่น video หรือ ageGroup,gender ดูเอกสารประกอบสำหรับรายงานแชแนลหรือรายงานเจ้าของเนื้อหาเพื่อดูรายการรายงานที่คุณเรียกข้อมูลได้และมิติข้อมูลที่ใช้สำหรับรายงานเหล่านั้น (เอกสารมิติข้อมูลมีคําจํากัดความสําหรับมิติข้อมูลทั้งหมด)
|
|
filters |
string รายการตัวกรองที่ควรนำไปใช้เมื่อดึงข้อมูล YouTube Analytics เอกสารประกอบสำหรับรายงานแชแนลและรายงานของเจ้าของเนื้อหาระบุมิติข้อมูลที่ใช้กรองรายงานแต่ละฉบับได้ และเอกสารมิติข้อมูลได้กำหนดมิติข้อมูลเหล่านั้น หากคำขอใช้ตัวกรองหลายรายการ ให้รวมตัวกรองเข้าด้วยกันด้วยเครื่องหมายเซมิโคลอน ( ; ) จากนั้นตารางผลลัพธ์ที่แสดงตรงกับตัวกรองทั้ง 2 รายการ เช่น ค่าพารามิเตอร์ filters ที่ video==dMH0bHeiRNg;country==IT จะจำกัดชุดผลลัพธ์ให้รวมข้อมูลของวิดีโอดังกล่าวในอิตาลีการระบุหลายค่าสำหรับตัวกรอง API รองรับความสามารถในการระบุค่าหลายค่าสำหรับตัวกรอง video , playlist และ channel โดยระบุรายการวิดีโอ เพลย์ลิสต์ หรือรหัสช่องแยกต่างหากที่ควรกรองการตอบกลับของ API เช่น ค่าพารามิเตอร์ filters ที่ video==pd1FJh59zxQ,Zhawgd0REhA;country==IT จะจำกัดชุดผลลัพธ์ให้รวมข้อมูลของวิดีโอดังกล่าวในอิตาลี ค่าพารามิเตอร์ระบุรหัสได้สูงสุด 500 รหัสเมื่อระบุค่าหลายค่าสำหรับตัวกรองเดียวกัน คุณยังเพิ่มตัวกรองนั้นลงในรายการมิติข้อมูลที่ระบุสำหรับคำขอได้ด้วย ถึงแม้จะไม่ได้แสดงตัวกรองนั้นเป็นมิติข้อมูลที่รองรับสำหรับรายงานที่เฉพาะเจาะจงก็ตาม หากคุณเพิ่มตัวกรองลงในรายการมิติข้อมูล API จะใช้ค่าตัวกรองในการจัดกลุ่มผลลัพธ์ด้วย ตัวอย่างเช่น สมมติว่าคุณเรียกดูรายงานแหล่งที่มาของการเข้าชมของช่อง ซึ่งรวบรวมสถิติการดูตามลักษณะที่ผู้ชมเข้าถึงเนื้อหาวิดีโอของช่อง และสมมติว่าคำขอพารามิเตอร์ filters ของคำขอของคุณระบุรายการวิดีโอ 10 รายการที่ควรแสดงข้อมูล
|
|
includeHistoricalChannelData |
boolean หมายเหตุ: พารามิเตอร์นี้มีผลกับรายงานเจ้าของเนื้อหาเท่านั้น ระบุว่าการตอบกลับจาก API ควรรวมเวลาในการรับชมของช่องและดูข้อมูลจากระยะเวลาก่อนหน้าที่ลิงก์กับเจ้าของเนื้อหาหรือไม่ ค่าพารามิเตอร์เริ่มต้นคือ false ซึ่งหมายความว่าการตอบกลับจาก API มีเฉพาะเวลาในการรับชมและข้อมูลการดูจากวันที่ที่ช่องลิงก์กับเจ้าของเนื้อหาโปรดทราบว่าช่องต่างๆ อาจลิงก์กับเจ้าของเนื้อหาในวันที่ต่างกัน หากคำขอ API กำลังดึงข้อมูลของหลายแชแนลและค่าพารามิเตอร์คือ false การตอบกลับของ API จะมีข้อมูลตามวันที่ที่ลิงก์สำหรับแต่ละแชแนลที่เกี่ยวข้อง หากค่าพารามิเตอร์คือ true การตอบกลับจาก API จะมีข้อมูลที่ตรงกับวันที่ที่ระบุไว้ในคําขอ APIหมายเหตุ: ในเวอร์ชัน 1 ของ API พารามิเตอร์นี้มีชื่อว่า include-historical-channel-data |
|
maxResults |
integer จำนวนแถวสูงสุดที่จะรวมไว้ในคำตอบ หมายเหตุ: ในเวอร์ชัน 1 ของ API พารามิเตอร์นี้มีชื่อว่า max-results |
|
sort |
string รายการมิติข้อมูลหรือเมตริกที่คั่นด้วยคอมมาซึ่งกำหนดลำดับการจัดเรียงข้อมูล YouTube Analytics โดยค่าเริ่มต้น ลำดับการจัดเรียงจะเรียงจากน้อยไปมาก คำนำหน้า - ทำให้เกิดลำดับการจัดเรียงจากมากไปน้อย
|
|
startIndex |
integer ดัชนีแบบ 1 ของเอนทิตีแรกที่เรียกข้อมูล (ค่าเริ่มต้นคือ 1 ) ใช้พารามิเตอร์นี้เป็นกลไกการใส่เลขหน้าร่วมกับพารามิเตอร์ max-results หมายเหตุ: ในเวอร์ชัน 1 ของ API พารามิเตอร์นี้มีชื่อว่า start-index |
|
พารามิเตอร์มาตรฐาน | ||
access_token |
OAuth 2.0 สำหรับผู้ใช้ปัจจุบัน
|
|
alt |
API เวอร์ชัน 2 ไม่รองรับพารามิเตอร์นี้ ซึ่งรองรับเฉพาะการตอบกลับ JSON รูปแบบข้อมูลสำหรับการตอบกลับ API
|
|
callback |
ฟังก์ชันเรียกกลับ
|
|
prettyPrint |
แสดงการตอบกลับด้วยการเยื้องและการขึ้นบรรทัดใหม่
|
|
quotaUser |
มีการรองรับพารามิเตอร์นี้ใน API เวอร์ชัน 1 ซึ่งตอนนี้เลิกใช้งานแล้ว API เวอร์ชัน 2 ไม่รองรับพารามิเตอร์นี้ | |
userIp |
มีการรองรับพารามิเตอร์นี้ใน API เวอร์ชัน 1 ซึ่งตอนนี้เลิกใช้งานแล้ว API เวอร์ชัน 2 ไม่รองรับพารามิเตอร์นี้ |
เนื้อหาของคำขอ
ไม่ต้องส่งเนื้อหาคำขอเมื่อเรียกใช้วิธีการนี้
คำตอบ
API แสดงผลการตอบกลับในรูปแบบ JSON หรือ CSV ได้ตามที่ระบุไว้ในคำจำกัดความพารามิเตอร์ alt
ข้อมูลเกี่ยวกับเนื้อหาการตอบกลับสำหรับแต่ละประเภทจะแสดงไว้ด้านล่างนี้
{ "kind": "youtubeAnalytics#resultTable", "columnHeaders": [ { "name": string, "dataType": string, "columnType": string }, ... more headers ... ], "rows": [ [ {value}, {value}, ... ] ] }
พร็อพเพอร์ตี้ | |
---|---|
kind |
string ค่านี้ระบุประเภทของข้อมูลที่รวมอยู่ในการตอบกลับจาก API สำหรับเมธอด query ค่าพร็อพเพอร์ตี้ kind จะเป็น youtubeAnalytics#resultTable อย่างไรก็ตาม หาก API เพิ่มการรองรับเมธอดอื่นๆ การตอบกลับจาก API สําหรับเมธอดเหล่านั้นอาจมีค่าพร็อพเพอร์ตี้ kind อื่นๆ ด้วย |
columnHeaders[] |
list ค่านี้ระบุข้อมูลเกี่ยวกับข้อมูลที่แสดงผลในช่อง rows แต่ละรายการในรายการ columnHeaders จะระบุช่องที่แสดงผลในค่า rows ซึ่งมีรายการข้อมูลที่คั่นด้วยคอมมารายการ columnHeaders เริ่มต้นด้วยมิติข้อมูลที่ระบุไว้ในคำขอ API ซึ่งตามด้วยเมตริกที่ระบุในคำขอ API ลำดับของมิติข้อมูลและเมตริกตรงกับลำดับในคำขอ APIเช่น หากคำขอ API มีพารามิเตอร์ dimensions=ageGroup,gender&metrics=viewerPercentage การตอบกลับของ API จะแสดงคอลัมน์ตามลำดับต่อไปนี้ ageGroup ,gender ,viewerPercentage |
columnHeaders[].name |
string ชื่อของมิติข้อมูลหรือเมตริก |
columnHeaders[].columnType |
string ประเภทของคอลัมน์ ( DIMENSION หรือ METRIC ) |
columnHeaders[].dataType |
string ประเภทของข้อมูลในคอลัมน์ ( STRING , INTEGER , FLOAT ฯลฯ) |
rows[] |
list รายการนี้ประกอบด้วยแถวทั้งหมดของตารางผลลัพธ์ แต่ละรายการในลิสต์คืออาร์เรย์ที่มีข้อมูลซึ่งคั่นด้วยคอมมาที่สอดคล้องกับข้อมูลแถวเดียว ลำดับของช่องข้อมูลที่คั่นด้วยคอมมาจะตรงกับลำดับคอลัมน์ที่แสดงในช่อง columnHeaders หากไม่มีข้อมูลสำหรับการค้นหาดังกล่าว องค์ประกอบ rows จะไม่รวมอยู่ในคำตอบคำตอบสำหรับการค้นหาที่มีมิติข้อมูล day จะไม่มีแถวในช่วงวันล่าสุด |
day, views, likes, ... "2012-01-01", 12.0, 3, ... "2012-01-02", 16.0, 2, ... "2012-01-03", 18.0, 8, ... ...
ตัวอย่าง
หมายเหตุ: ตัวอย่างโค้ดต่อไปนี้อาจไม่ได้แสดงถึงภาษาโปรแกรมที่รองรับทั้งหมด โปรดดูรายการภาษาที่รองรับในเอกสารประกอบของไลบรารีของไคลเอ็นต์
JavaScript
ตัวอย่างนี้เรียกใช้ API ของ YouTube Analytics เพื่อดึงข้อมูลยอดดูรายวันและเมตริกอื่นๆ สำหรับช่องของผู้ใช้ที่มีสิทธิ์ในปีปฏิทิน 2017 ตัวอย่างใช้ไลบรารีของไคลเอ็นต์ JavaScript ของ Google APIsก่อนที่จะเรียกใช้ตัวอย่างนี้ในเครื่องเป็นครั้งแรก คุณจะต้องตั้งค่าข้อมูลเข้าสู่ระบบการให้สิทธิ์สำหรับโปรเจ็กต์ของคุณ ดังนี้
- สร้างหรือเลือกโครงการในคอนโซล Google API
- เปิดใช้ API ของ YouTube Analytics สำหรับโปรเจ็กต์
- ที่ด้านบนของหน้าข้อมูลเข้าสู่ระบบ ให้เลือกแท็บหน้าจอขอความยินยอม OAuth เลือกที่อยู่อีเมล ป้อนชื่อผลิตภัณฑ์หากยังไม่ได้ตั้งค่า แล้วคลิกปุ่ม บันทึก
- ในหน้าข้อมูลเข้าสู่ระบบ ให้คลิกปุ่มสร้างข้อมูลเข้าสู่ระบบ แล้วเลือกรหัสไคลเอ็นต์ OAuth
- เลือกประเภทแอปพลิเคชัน เว็บแอปพลิเคชัน
- ในช่องต้นทาง JavaScript ที่ได้รับอนุญาต ให้ป้อน URL ที่คุณจะใช้แสดงตัวอย่างโค้ด ตัวอย่างเช่น คุณอาจใช้ชื่ออย่าง
http://localhost:8000
หรือhttp://yourserver.example.com
เว้นช่อง URI การเปลี่ยนเส้นทางที่ได้รับอนุญาตว่างไว้ได้ - คลิกปุ่มสร้างเพื่อสร้างข้อมูลเข้าสู่ระบบให้เสร็จสิ้น
- ก่อนปิดกล่องโต้ตอบ ให้คัดลอกรหัสไคลเอ็นต์ซึ่งจะต้องใส่ลงในตัวอย่างโค้ด
จากนั้นบันทึกตัวอย่างลงในไฟล์ในเครื่อง ในตัวอย่างนี้ ให้ค้นหาบรรทัดต่อไปนี้และแทนที่ YOUR_CLIENT_ID ด้วยรหัสไคลเอ็นต์ที่คุณได้รับเมื่อตั้งค่าข้อมูลเข้าสู่ระบบการให้สิทธิ์
gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'});
คุณพร้อมที่จะทดสอบตัวอย่างแล้ว:
- เปิดไฟล์ในเครื่องจากเว็บเบราว์เซอร์ และเปิดคอนโซลการดีบักในเบราว์เซอร์ คุณควรจะเห็นหน้าที่แสดงปุ่ม 2 ปุ่ม
- คลิกปุ่มให้สิทธิ์และโหลดเพื่อเปิดใช้ขั้นตอนการให้สิทธิ์ผู้ใช้ หากอนุญาตให้แอปดึงข้อมูลช่อง คุณจะเห็นบรรทัดต่อไปนี้พิมพ์ไปยังคอนโซลในเบราว์เซอร์
Sign-in successful GAPI client loaded for API
- หากคุณเห็นข้อความแสดงข้อผิดพลาดแทนบรรทัดด้านบน ให้ยืนยันว่าคุณกำลังโหลดสคริปต์จาก URI การเปลี่ยนเส้นทางที่ได้รับอนุญาตซึ่งคุณตั้งค่าไว้สำหรับโปรเจ็กต์ และได้ใส่รหัสไคลเอ็นต์ลงในโค้ดตามที่อธิบายไว้ข้างต้น
- คลิกปุ่ม execute เพื่อเรียกใช้ API คุณควรเห็นออบเจ็กต์
response
ที่พิมพ์ไปยังคอนโซลในเบราว์เซอร์ ในออบเจ็กต์ดังกล่าว พร็อพเพอร์ตี้result
จะแมปกับออบเจ็กต์ที่มีข้อมูล API
<script src="https://apis.google.com/js/api.js"></script> <script> function authenticate() { return gapi.auth2.getAuthInstance() .signIn({scope: "https://www.googleapis.com/auth/yt-analytics.readonly"}) .then(function() { console.log("Sign-in successful"); }, function(err) { console.error("Error signing in", err); }); } function loadClient() { return gapi.client.load("https://youtubeanalytics.googleapis.com/$discovery/rest?version=v2") .then(function() { console.log("GAPI client loaded for API"); }, function(err) { console.error("Error loading GAPI client for API", err); }); } // Make sure the client is loaded and sign-in is complete before calling this method. function execute() { return gapi.client.youtubeAnalytics.reports.query({ "ids": "channel==MINE", "startDate": "2017-01-01", "endDate": "2017-12-31", "metrics": "views,estimatedMinutesWatched,averageViewDuration,averageViewPercentage,subscribersGained", "dimensions": "day", "sort": "day" }) .then(function(response) { // Handle the results here (response.result has the parsed body). console.log("Response", response); }, function(err) { console.error("Execute error", err); }); } gapi.load("client:auth2", function() { gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'}); }); </script> <button onclick="authenticate().then(loadClient)">authorize and load</button> <button onclick="execute()">execute</button>
Python
ตัวอย่างนี้เรียกใช้ API ของ YouTube Analytics เพื่อดึงข้อมูลยอดดูรายวันและเมตริกอื่นๆ สำหรับช่องของผู้ใช้ที่มีสิทธิ์ในปีปฏิทิน 2017 ตัวอย่างนี้ใช้ไลบรารีของไคลเอ็นต์ Python ของ Google APIsก่อนที่จะเรียกใช้ตัวอย่างนี้ในเครื่องเป็นครั้งแรก คุณจะต้องตั้งค่าข้อมูลเข้าสู่ระบบการให้สิทธิ์สำหรับโปรเจ็กต์ของคุณ ดังนี้
- สร้างหรือเลือกโครงการในคอนโซล Google API
- เปิดใช้ API ของ YouTube Analytics สำหรับโปรเจ็กต์
- ที่ด้านบนของหน้าข้อมูลเข้าสู่ระบบ ให้เลือกแท็บหน้าจอขอความยินยอม OAuth เลือกที่อยู่อีเมล ป้อนชื่อผลิตภัณฑ์หากยังไม่ได้ตั้งค่า แล้วคลิกปุ่ม บันทึก
- ในหน้าข้อมูลเข้าสู่ระบบ ให้คลิกปุ่มสร้างข้อมูลเข้าสู่ระบบ แล้วเลือกรหัสไคลเอ็นต์ OAuth
- เลือกประเภทแอปพลิเคชัน Other ป้อนชื่อ "YouTube Analytics API อย่างรวดเร็ว" แล้วคลิกปุ่ม "สร้าง"
- คลิกตกลงเพื่อปิดกล่องโต้ตอบที่ปรากฏขึ้น
- คลิกปุ่ม (ดาวน์โหลด JSON) ทางด้านขวาของรหัสไคลเอ็นต์
- ย้ายไฟล์ที่ดาวน์โหลดมาไปยังไดเรกทอรีการทำงาน
คุณต้องติดตั้งไลบรารีของไคลเอ็นต์ Google APIs สำหรับ Python และไลบรารีเพิ่มเติมบางรายการ ดังนี้
pip install --upgrade google-api-python-client pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2
คุณพร้อมที่จะทดสอบตัวอย่างแล้ว:
- คัดลอกตัวอย่างโค้ดด้านล่างไปยังไดเรกทอรีการทำงาน
- ในตัวอย่างนี้ ให้อัปเดตค่าตัวแปร
CLIENT_SECRETS_FILE
ให้ตรงกับตำแหน่งของไฟล์ที่คุณดาวน์โหลดหลังจากตั้งค่าข้อมูลเข้าสู่ระบบการให้สิทธิ์ - เรียกใช้โค้ดตัวอย่างในหน้าต่างเทอร์มินัล:
python yt_analytics_v2.py
- ดำเนินการตามขั้นตอนการให้สิทธิ์ ขั้นตอนการตรวจสอบสิทธิ์อาจโหลดขึ้นในเบราว์เซอร์ของคุณโดยอัตโนมัติ หรือคุณอาจต้องคัดลอก URL การตรวจสอบสิทธิ์ลงในหน้าต่างเบราว์เซอร์ ที่ส่วนท้ายของขั้นตอนการให้สิทธิ์ หากจำเป็น ให้วางรหัสการให้สิทธิ์ที่แสดงในเบราว์เซอร์ลงในหน้าต่างเทอร์มินัล แล้วคลิก [return]
- การค้นหาของ API จะทำงานและการตอบสนองของ JSON จะแสดงผลไปยังหน้าต่างเทอร์มินัล
# -*- coding: utf-8 -*- import os import google.oauth2.credentials import google_auth_oauthlib.flow from googleapiclient.discovery import build from googleapiclient.errors import HttpError from google_auth_oauthlib.flow import InstalledAppFlow SCOPES = ['https://www.googleapis.com/auth/yt-analytics.readonly'] API_SERVICE_NAME = 'youtubeAnalytics' API_VERSION = 'v2' CLIENT_SECRETS_FILE = 'YOUR_CLIENT_SECRET_FILE.json' def get_service(): flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRETS_FILE, SCOPES) credentials = flow.run_console() return build(API_SERVICE_NAME, API_VERSION, credentials = credentials) def execute_api_request(client_library_function, **kwargs): response = client_library_function( **kwargs ).execute() print(response) if __name__ == '__main__': # Disable OAuthlib's HTTPs verification when running locally. # *DO NOT* leave this option enabled when running in production. os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = '1' youtubeAnalytics = get_service() execute_api_request( youtubeAnalytics.reports().query, ids='channel==MINE', startDate='2017-01-01', endDate='2017-12-31', metrics='estimatedMinutesWatched,views,likes,subscribersGained' dimensions='day', sort='day' )
ลองใช้เลย
ใช้ APIs Explorer เพื่อเรียกใช้ API นี้เพื่อดูคำขอและการตอบสนองของ API