Reports: Query

สำคัญ: ตอนนี้คำขอ 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

  • หากต้องการขอข้อมูลสำหรับช่อง YouTube ให้ตั้งค่าพารามิเตอร์ ids เป็น channel==MINE หรือ channel==CHANNEL_ID โดยที่ CHANNEL_ID จะระบุช่อง YouTube ของผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์แล้วในปัจจุบัน
  • หากต้องการขอข้อมูลสำหรับเจ้าของเนื้อหา YouTube ให้ตั้งค่าพารามิเตอร์ ids เป็น contentOwner==OWNER_NAME โดยที่ OWNER_NAME คือ content owner ID สำหรับผู้ใช้

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 รายการที่ควรแสดงข้อมูล
  • หากคุณเพิ่ม video ในค่าของพารามิเตอร์ dimensions การตอบกลับจาก API จะแสดงสถิติแหล่งที่มาของการเข้าชมแยกต่างหากสำหรับวิดีโอแต่ละรายการจาก 10 วิดีโอ
  • หากคุณไม่เพิ่ม video ในค่าของพารามิเตอร์ dimensions การตอบกลับจาก API จะรวบรวมสถิติแหล่งที่มาของการเข้าชมสำหรับวิดีโอทั้ง 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
  • ค่าที่ถูกต้อง: json, csv
  • ค่าเริ่มต้น: json
callback ฟังก์ชันเรียกกลับ
  • ชื่อของฟังก์ชันเรียกกลับของ JavaScript ที่จัดการการตอบกลับ
  • ใช้ในคำขอ JSON-P ของ JavaScript
prettyPrint

แสดงการตอบกลับด้วยการเยื้องและการขึ้นบรรทัดใหม่

  • แสดงผลคำตอบในรูปแบบที่มนุษย์อ่านได้ หาก true
  • ค่าเริ่มต้น: true
  • เมื่อเป็น false จะเป็นการลดขนาดเพย์โหลดการตอบสนอง ซึ่งอาจทำให้ประสิทธิภาพดีขึ้นในบางสภาพแวดล้อมได้
quotaUser มีการรองรับพารามิเตอร์นี้ใน API เวอร์ชัน 1 ซึ่งตอนนี้เลิกใช้งานแล้ว API เวอร์ชัน 2 ไม่รองรับพารามิเตอร์นี้
userIp มีการรองรับพารามิเตอร์นี้ใน API เวอร์ชัน 1 ซึ่งตอนนี้เลิกใช้งานแล้ว API เวอร์ชัน 2 ไม่รองรับพารามิเตอร์นี้

เนื้อหาของคำขอ

ไม่ต้องส่งเนื้อหาคำขอเมื่อเรียกใช้วิธีการนี้

คำตอบ

API แสดงผลการตอบกลับในรูปแบบ JSON หรือ CSV ได้ตามที่ระบุไว้ในคำจำกัดความพารามิเตอร์ alt ข้อมูลเกี่ยวกับเนื้อหาการตอบกลับสำหรับแต่ละประเภทจะแสดงไว้ด้านล่างนี้

JSON
{
  "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 จะไม่มีแถวในช่วงวันล่าสุด

CSV
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

ก่อนที่จะเรียกใช้ตัวอย่างนี้ในเครื่องเป็นครั้งแรก คุณจะต้องตั้งค่าข้อมูลเข้าสู่ระบบการให้สิทธิ์สำหรับโปรเจ็กต์ของคุณ ดังนี้
  1. สร้างหรือเลือกโครงการในคอนโซล Google API
  2. เปิดใช้ API ของ YouTube Analytics สำหรับโปรเจ็กต์
  3. ที่ด้านบนของหน้าข้อมูลเข้าสู่ระบบ ให้เลือกแท็บหน้าจอขอความยินยอม OAuth เลือกที่อยู่อีเมล ป้อนชื่อผลิตภัณฑ์หากยังไม่ได้ตั้งค่า แล้วคลิกปุ่ม บันทึก
  4. ในหน้าข้อมูลเข้าสู่ระบบ ให้คลิกปุ่มสร้างข้อมูลเข้าสู่ระบบ แล้วเลือกรหัสไคลเอ็นต์ OAuth
  5. เลือกประเภทแอปพลิเคชัน เว็บแอปพลิเคชัน
  6. ในช่องต้นทาง JavaScript ที่ได้รับอนุญาต ให้ป้อน URL ที่คุณจะใช้แสดงตัวอย่างโค้ด ตัวอย่างเช่น คุณอาจใช้ชื่ออย่าง http://localhost:8000 หรือ http://yourserver.example.com เว้นช่อง URI การเปลี่ยนเส้นทางที่ได้รับอนุญาตว่างไว้ได้
  7. คลิกปุ่มสร้างเพื่อสร้างข้อมูลเข้าสู่ระบบให้เสร็จสิ้น
  8. ก่อนปิดกล่องโต้ตอบ ให้คัดลอกรหัสไคลเอ็นต์ซึ่งจะต้องใส่ลงในตัวอย่างโค้ด

จากนั้นบันทึกตัวอย่างลงในไฟล์ในเครื่อง ในตัวอย่างนี้ ให้ค้นหาบรรทัดต่อไปนี้และแทนที่ YOUR_CLIENT_ID ด้วยรหัสไคลเอ็นต์ที่คุณได้รับเมื่อตั้งค่าข้อมูลเข้าสู่ระบบการให้สิทธิ์

gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'});

คุณพร้อมที่จะทดสอบตัวอย่างแล้ว:

  1. เปิดไฟล์ในเครื่องจากเว็บเบราว์เซอร์ และเปิดคอนโซลการดีบักในเบราว์เซอร์ คุณควรจะเห็นหน้าที่แสดงปุ่ม 2 ปุ่ม
  2. คลิกปุ่มให้สิทธิ์และโหลดเพื่อเปิดใช้ขั้นตอนการให้สิทธิ์ผู้ใช้ หากอนุญาตให้แอปดึงข้อมูลช่อง คุณจะเห็นบรรทัดต่อไปนี้พิมพ์ไปยังคอนโซลในเบราว์เซอร์
    Sign-in successful
    GAPI client loaded for API
  3. หากคุณเห็นข้อความแสดงข้อผิดพลาดแทนบรรทัดด้านบน ให้ยืนยันว่าคุณกำลังโหลดสคริปต์จาก URI การเปลี่ยนเส้นทางที่ได้รับอนุญาตซึ่งคุณตั้งค่าไว้สำหรับโปรเจ็กต์ และได้ใส่รหัสไคลเอ็นต์ลงในโค้ดตามที่อธิบายไว้ข้างต้น
  4. คลิกปุ่ม 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

ก่อนที่จะเรียกใช้ตัวอย่างนี้ในเครื่องเป็นครั้งแรก คุณจะต้องตั้งค่าข้อมูลเข้าสู่ระบบการให้สิทธิ์สำหรับโปรเจ็กต์ของคุณ ดังนี้
  1. สร้างหรือเลือกโครงการในคอนโซล Google API
  2. เปิดใช้ API ของ YouTube Analytics สำหรับโปรเจ็กต์
  3. ที่ด้านบนของหน้าข้อมูลเข้าสู่ระบบ ให้เลือกแท็บหน้าจอขอความยินยอม OAuth เลือกที่อยู่อีเมล ป้อนชื่อผลิตภัณฑ์หากยังไม่ได้ตั้งค่า แล้วคลิกปุ่ม บันทึก
  4. ในหน้าข้อมูลเข้าสู่ระบบ ให้คลิกปุ่มสร้างข้อมูลเข้าสู่ระบบ แล้วเลือกรหัสไคลเอ็นต์ OAuth
  5. เลือกประเภทแอปพลิเคชัน Other ป้อนชื่อ "YouTube Analytics API อย่างรวดเร็ว" แล้วคลิกปุ่ม "สร้าง"
  6. คลิกตกลงเพื่อปิดกล่องโต้ตอบที่ปรากฏขึ้น
  7. คลิกปุ่ม (ดาวน์โหลด JSON) ทางด้านขวาของรหัสไคลเอ็นต์
  8. ย้ายไฟล์ที่ดาวน์โหลดมาไปยังไดเรกทอรีการทำงาน

คุณต้องติดตั้งไลบรารีของไคลเอ็นต์ Google APIs สำหรับ Python และไลบรารีเพิ่มเติมบางรายการ ดังนี้

pip install --upgrade google-api-python-client
pip install --upgrade google-auth google-auth-oauthlib google-auth-httplib2

คุณพร้อมที่จะทดสอบตัวอย่างแล้ว:

  1. คัดลอกตัวอย่างโค้ดด้านล่างไปยังไดเรกทอรีการทำงาน
  2. ในตัวอย่างนี้ ให้อัปเดตค่าตัวแปร CLIENT_SECRETS_FILE ให้ตรงกับตำแหน่งของไฟล์ที่คุณดาวน์โหลดหลังจากตั้งค่าข้อมูลเข้าสู่ระบบการให้สิทธิ์
  3. เรียกใช้โค้ดตัวอย่างในหน้าต่างเทอร์มินัล:
    python yt_analytics_v2.py
  4. ดำเนินการตามขั้นตอนการให้สิทธิ์ ขั้นตอนการตรวจสอบสิทธิ์อาจโหลดขึ้นในเบราว์เซอร์ของคุณโดยอัตโนมัติ หรือคุณอาจต้องคัดลอก URL การตรวจสอบสิทธิ์ลงในหน้าต่างเบราว์เซอร์ ที่ส่วนท้ายของขั้นตอนการให้สิทธิ์ หากจำเป็น ให้วางรหัสการให้สิทธิ์ที่แสดงในเบราว์เซอร์ลงในหน้าต่างเทอร์มินัล แล้วคลิก [return]
  5. การค้นหาของ 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