Reports: Query

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

  • หากต้องการขอข้อมูลสําหรับช่อง 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 แสดงสําหรับเมตริกเหล่านั้นเป็นค่าประมาณที่คํานวณโดยใช้อัตราแลกเปลี่ยนที่มีการเปลี่ยนแปลงทุกวัน หากไม่มีการขอเมตริกเหล่านั้น ระบบจะไม่สนใจพารามิเตอร์

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

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

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

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

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

คำตอบ

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

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,genderviewerPercentage
columnHeaders[].name string
ชื่อมิติข้อมูลหรือเมตริก
columnHeaders[].columnType string
ประเภทของคอลัมน์ (DIMENSION หรือ METRIC)
columnHeaders[].dataType string
ประเภทของข้อมูลในคอลัมน์ (STRING, INTEGER, FLOAT ฯลฯ)
rows[] list
รายการนี้มีแถวทั้งหมดของตารางผลลัพธ์ แต่ละรายการในลิสต์เป็นอาร์เรย์ที่มีข้อมูลซึ่งคั่นด้วยคอมมาที่สอดคล้องกับข้อมูล 1 แถว ลําดับของช่องข้อมูลซึ่งคั่นด้วยคอมมาจะจับคู่กับลําดับคอลัมน์ที่ระบุในช่อง 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

ตัวอย่างนี้เรียก YouTube Analytics API เพื่อเรียกข้อมูลยอดดูรายวันและเมตริกอื่นๆ สําหรับช่องทางของผู้ใช้ที่ได้รับอนุญาตสําหรับปีปฏิทิน 2017 ตัวอย่างการใช้ไลบรารีของไคลเอ็นต์ JavaScript ของ Google APIs

ก่อนจะเรียกใช้ตัวอย่างนี้ในเครื่องเป็นครั้งแรก คุณต้องตั้งค่าข้อมูลเข้าสู่ระบบการให้สิทธิ์สําหรับโปรเจ็กต์ของคุณ
  1. สร้างหรือเลือกโปรเจ็กต์ในคอนโซล Google API
  2. เปิดใช้ YouTube Analytics API สําหรับโปรเจ็กต์
  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. คลิกปุ่มเรียกใช้เพื่อเรียกใช้ 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

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

นอกจากนี้คุณต้องติดตั้งไลบรารีของไคลเอ็นต์ Google API สําหรับ 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