สําคัญ: ตอนนี้คําขอ API สําหรับวิธีนี้ต้องใช้การเข้าถึงขอบเขต https://www.googleapis.com/auth/youtube.readonly
วิธีนี้ช่วยให้ดึงรายงาน Analytics ต่างๆ ได้มากมาย คําขอแต่ละรายการใช้พารามิเตอร์การค้นหาเพื่อระบุรหัสช่องหรือเจ้าของเนื้อหา วันที่เริ่มต้น วันที่สิ้นสุด และเมตริกอย่างน้อย 1 รายการ คุณยังระบุพารามิเตอร์การค้นหาเพิ่มเติม เช่น มิติข้อมูล ตัวกรอง และวิธีการจัดเรียงได้ด้วย
- เมตริกคือการวัดกิจกรรมของผู้ใช้แต่ละครั้ง เช่น ยอดดูวิดีโอ หรือการให้คะแนน (การกดชอบและไม่ชอบ)
- มิติข้อมูลเป็นเกณฑ์ทั่วไปที่ใช้รวบรวมข้อมูล เช่น วันที่ของกิจกรรมของผู้ใช้ หรือประเทศของผู้ใช้ ในรายงาน ข้อมูลแต่ละแถวจะมีชุดค่าผสมของค่ามิติข้อมูลที่ไม่ซ้ํากัน
- ตัวกรองคือค่ามิติข้อมูลที่ระบุที่จะดึงข้อมูล ตัวอย่างเช่น คุณอาจเรียกข้อมูลสําหรับประเทศ วิดีโอ หรือกลุ่มวิดีโอที่เจาะจง
หมายเหตุ: พาร์ทเนอร์เจ้าของเนื้อหา YouTube ที่เข้าร่วมโปรแกรมพาร์ทเนอร์ YouTube จะเข้าถึงรายงานของเจ้าของเนื้อหาได้เท่านั้น
กรณีการใช้งานทั่วไป
ส่งคำขอ
คำขอ 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 | ดูรายงาน YouTube Analytics สําหรับเนื้อหา YouTube ของคุณ ขอบเขตนี้จะช่วยให้เข้าถึงเมตริกกิจกรรมของผู้ใช้ เช่น จํานวนการดูและการให้คะแนน |
https://www.googleapis.com/auth/yt-analytics-monetary.readonly | ดูรายงานทางการเงินของ YouTube Analytics สําหรับเนื้อหา YouTube ของคุณ ขอบเขตนี้จะทําให้คุณเข้าถึงเมตริกกิจกรรมของผู้ใช้และเมตริกรายได้โดยประมาณและประสิทธิภาพของโฆษณาได้ |
https://www.googleapis.com/auth/youtube | จัดการบัญชี YouTube ของคุณ ใน YouTube Analytics API เจ้าของช่องจะใช้ขอบเขตนี้เพื่อจัดการกลุ่มและรายการ YouTube Analytics |
https://www.googleapis.com/auth/youtubepartner | ดูและจัดการเนื้อหา YouTube และเนื้อหาที่เกี่ยวข้องบน YouTube ใน YouTube Analytics API เจ้าของเนื้อหาจะใช้ขอบเขตนี้ในการจัดการกลุ่มและกลุ่มรายการใน 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 แสดงสําหรับเมตริกเหล่านั้นเป็นค่าประมาณที่คํานวณโดยใช้อัตราแลกเปลี่ยนที่มีการเปลี่ยนแปลงทุกวัน หากไม่มีการขอเมตริกเหล่านั้น ระบบจะไม่สนใจพารามิเตอร์ ค่าพารามิเตอร์คือรหัสสกุลเงิน ISO 4217 แบบตัวอักษร 3 ตัวจากรายการสกุลเงินด้านล่าง API จะแสดงผลข้อผิดพลาดหากระบุสกุลเงินที่ไม่รองรับ ค่าเริ่มต้นคือ USD |
|
dimensions |
string รายการมิติข้อมูล YouTube Analytics ที่คั่นด้วยคอมมา เช่น video หรือ ageGroup,gender โปรดดูเอกสารประกอบรายงานแชแนลหรือรายงานเจ้าของเนื้อหาเพื่อดูรายการรายงานที่สามารถดึงข้อมูลได้ และมิติข้อมูลที่ใช้สําหรับรายงานเหล่านั้น (เอกสารมิติข้อมูลมีคําจํากัดความสําหรับมิติข้อมูลทั้งหมด)
|
|
filters |
string รายการตัวกรองที่ควรใช้เมื่อดึงข้อมูล YouTube Analytics เอกสารประกอบสําหรับรายงานแชแนลและรายงานเจ้าของเนื้อหาจะระบุมิติข้อมูลที่ใช้ในการกรองรายงานแต่ละรายการ และเอกสารมิติข้อมูลจะกําหนดมิติข้อมูลเหล่านั้น หากคําขอใช้ตัวกรองหลายรายการ ให้เชื่อมข้อมูลเหล่านั้นด้วยเครื่องหมายเซมิโคลอน ( ; ) และตารางผลลัพธ์จะตอบสนองตัวกรองทั้งสอง เช่น ค่าพารามิเตอร์ 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 |
พารามิเตอร์นี้ไม่รองรับในเวอร์ชัน 2 ของ API ซึ่งรองรับเฉพาะการตอบกลับของ JSON รูปแบบข้อมูลสําหรับการตอบกลับ API
|
|
callback |
ฟังก์ชันเรียกกลับ
|
|
prettyPrint |
แสดงการส่งคืนที่มีการเยื้องและขึ้นบรรทัดใหม่
|
|
quotaUser |
พารามิเตอร์นี้รองรับในเวอร์ชัน 1 ของ API ซึ่งตอนนี้เลิกใช้งานแล้ว ระบบไม่รองรับพารามิเตอร์นี้ในเวอร์ชัน 2 ของ API | |
userIp |
พารามิเตอร์นี้รองรับในเวอร์ชัน 1 ของ API ซึ่งตอนนี้เลิกใช้งานแล้ว ระบบไม่รองรับพารามิเตอร์นี้ในเวอร์ชัน 2 ของ API |
เนื้อหาของคำขอ
อย่าส่งเนื้อหาของคําขอเมื่อเรียกใช้วิธีการนี้
คำตอบ
ตามที่ระบุไว้ในคําจํากัดความของพารามิเตอร์ alt
API นี้จะแสดงการตอบกลับในรูปแบบ JSON หรือ CSV ได้ ข้อมูลเกี่ยวกับเนื้อความการตอบกลับสําหรับแต่ละประเภทมีดังนี้
{ "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 รายการนี้มีแถวทั้งหมดของตารางผลลัพธ์ แต่ละรายการในลิสต์เป็นอาร์เรย์ที่มีข้อมูลซึ่งคั่นด้วยคอมมาที่สอดคล้องกับข้อมูล 1 แถว ลําดับของช่องข้อมูลซึ่งคั่นด้วยคอมมาจะจับคู่กับลําดับคอลัมน์ที่ระบุในช่อง 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
ตัวอย่างนี้เรียก YouTube Analytics API เพื่อเรียกข้อมูลยอดดูรายวันและเมตริกอื่นๆ สําหรับช่องทางของผู้ใช้ที่ได้รับอนุญาตสําหรับปีปฏิทิน 2017 ตัวอย่างการใช้ไลบรารีของไคลเอ็นต์ JavaScript ของ Google APIsก่อนจะเรียกใช้ตัวอย่างนี้ในเครื่องเป็นครั้งแรก คุณต้องตั้งค่าข้อมูลเข้าสู่ระบบการให้สิทธิ์สําหรับโปรเจ็กต์ของคุณ
- สร้างหรือเลือกโปรเจ็กต์ในคอนโซล Google API
- เปิดใช้ YouTube Analytics API สําหรับโปรเจ็กต์
- เลือกแท็บหน้าจอขอความยินยอม 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 การเปลี่ยนเส้นทางที่ได้รับอนุญาตซึ่งตั้งค่าไว้สําหรับโปรเจ็กต์และคุณป้อนรหัสไคลเอ็นต์ลงในโค้ดตามที่อธิบายไว้ข้างต้น
- คลิกปุ่มเรียกใช้เพื่อเรียกใช้ 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
ตัวอย่างนี้เรียก YouTube Analytics API เพื่อเรียกข้อมูลยอดดูรายวันและเมตริกอื่นๆ สําหรับช่องทางของผู้ใช้ที่ได้รับอนุญาตสําหรับปีปฏิทิน 2017 ตัวอย่างนี้ใช้ไลบรารีของไคลเอ็นต์ Google APIs Pythonก่อนจะเรียกใช้ตัวอย่างนี้ในเครื่องเป็นครั้งแรก คุณต้องตั้งค่าข้อมูลเข้าสู่ระบบการให้สิทธิ์สําหรับโปรเจ็กต์ของคุณ
- สร้างหรือเลือกโปรเจ็กต์ในคอนโซล Google API
- เปิดใช้ YouTube Analytics API สําหรับโปรเจ็กต์
- เลือกแท็บหน้าจอขอความยินยอม OAuth ที่ด้านบนของหน้าข้อมูลเข้าสู่ระบบ เลือกอีเมล ป้อนชื่อผลิตภัณฑ์หากยังไม่ได้ตั้งค่าไว้ แล้วคลิกปุ่มบันทึก
- ในหน้าข้อมูลเข้าสู่ระบบ ให้คลิกปุ่มสร้างข้อมูลเข้าสู่ระบบ แล้วเลือกรหัสไคลเอ็นต์ OAuth
- เลือกประเภทแอปพลิเคชัน อื่นๆ ป้อนชื่อ "คู่มือเริ่มใช้งาน YouTube Analytics API ฉบับย่อ" แล้วคลิกปุ่มสร้าง
- คลิกตกลงเพื่อปิดกล่องโต้ตอบที่ได้รับ
- คลิกปุ่ม (ดาวน์โหลด JSON) ทางด้านขวาของรหัสไคลเอ็นต์
- ย้ายไฟล์ที่ดาวน์โหลดมาไปยังไดเรกทอรีการทํางาน
นอกจากนี้คุณต้องติดตั้งไลบรารีของไคลเอ็นต์ Google API สําหรับ 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