ตัวอย่างต่อไปนี้แสดงวิธีใช้ YouTube Data API (v3) เพื่อเรียกใช้ฟังก์ชันที่เกี่ยวข้องกับวิดีโอ
ดึงข้อมูลวิดีโอที่อัปโหลดของช่อง
ตัวอย่างนี้จะดึงข้อมูลวิดีโอที่อัปโหลดไปยังช่องหนึ่งๆ ตัวอย่างมี 2 ขั้นตอน ดังนี้
-
ขั้นตอนที่ 1: ดึงข้อมูลรหัสเพลย์ลิสต์สำหรับวิดีโอที่อัปโหลดของช่อง
เรียกใช้เมธอด
channels.list
เพื่อดึงรหัสของเพลย์ลิสต์ที่มีวิดีโอที่ช่องอัปโหลด ค่าพารามิเตอร์part
ของคำขอต้องมีcontentDetails
เป็นส่วนหนึ่งของทรัพยากรchannel
ที่ดึงข้อมูล ในคำตอบของ API พร็อพเพอร์ตี้contentDetails.relatedPlaylists.uploads
จะมีรหัสเพลย์ลิสต์คุณระบุช่องได้หลายวิธี ดังนี้
-
ตั้งค่าพารามิเตอร์
mine
เป็นtrue
เพื่อดึงข้อมูลสำหรับช่อง YouTube ของผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ในปัจจุบัน คำขอของคุณต้องได้รับอนุญาตโดยใช้ OAuth 2.0https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &mine=true
-
ตั้งค่าพารามิเตอร์
forUsername
เป็นชื่อผู้ใช้ YouTube เพื่อดึงข้อมูลสำหรับช่องที่เชื่อมโยงกับชื่อผู้ใช้ดังกล่าว ตัวอย่างนี้ตั้งค่าพารามิเตอร์forUsername
เป็นGoogle
เพื่อดึงข้อมูลสำหรับช่อง YouTube อย่างเป็นทางการของ Googlehttps://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &forUsername=Google
-
ตั้งค่าพารามิเตอร์
id
เป็นรหัสช่อง YouTube ที่ระบุช่องที่คุณกำลังดึงข้อมูลได้อย่างไม่ซ้ำกัน ตัวอย่างนี้ตั้งค่าพารามิเตอร์id
เป็นUCK8sQmJBp8GCxrOtXWBpyEA
ซึ่งยังระบุช่อง YouTube อย่างเป็นทางการของ Google ด้วยhttps://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list? part=contentDetails &id=UCK8sQmJBp8GCxrOtXWBpyEA
-
-
ขั้นตอนที่ 2: ดึงข้อมูลรายการวิดีโอที่อัปโหลด
เรียกใช้เมธอด
playlistItems.list
เพื่อดึงรายการวิดีโอที่อัปโหลด ตั้งค่าพารามิเตอร์playlistId
เป็นค่าที่ได้ในขั้นตอนที่ 1 ในตัวอย่างนี้ ค่าพารามิเตอร์ตั้งค่าเป็นUUK8sQmJBp8GCxrOtXWBpyEA
ซึ่งเป็นรายการวิดีโอที่อัปโหลดไปยังช่อง YouTube อย่างเป็นทางการของ Googlehttps://developers.google.com/apis-explorer/#p/youtube/v3/youtube.playlistItems.list? part=snippet,contentDetails,status &playlistId=UUK8sQmJBp8GCxrOtXWBpyEA
ดึงข้อมูลวิดีโอยอดนิยม
ตัวอย่างนี้แสดงวิธีดึงรายการวิดีโอที่ได้รับความนิยมสูงสุดของ YouTube ซึ่งเลือกโดยใช้อัลกอริทึมที่รวมสัญญาณต่างๆ มากมายเพื่อพิจารณาความนิยมโดยรวม
หากต้องการดึงข้อมูลรายการวิดีโอยอดนิยม ให้เรียกใช้เมธอด videos.list
และตั้งค่าพารามิเตอร์ chart
เป็น mostPopular
mostPopular
ชาร์ตมีวิดีโอเพลง ภาพยนตร์ และเกมที่กำลังมาแรง
จากนั้นคุณจะตั้งค่าพารามิเตอร์ต่อไปนี้หรือไม่ก็ได้
regionCode
: สั่งให้ API แสดงรายการวิดีโอสำหรับภูมิภาคที่ระบุ ค่าพารามิเตอร์คือรหัสประเทศ ISO 3166-1 Alpha-2 คุณสามารถใช้วิธีi18nRegions.list
เพื่อดึงรายการรหัสภูมิภาคที่ YouTube รองรับvideoCategoryId
: ระบุหมวดหมู่วิดีโอที่ควรดึงวิดีโอที่ได้รับความนิยมมากที่สุด คุณสามารถใช้วิธีvideoCategories.list
เพื่อดึงรายการรหัสหมวดหมู่ที่ YouTube รองรับ
ตัวอย่างเช่น คำขอต่อไปนี้จะดึงวิดีโอกีฬาที่ได้รับความนิยมมากที่สุดในสเปน
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet &chart=mostPopular ®ionCode=es &videoCategoryId=17
อัปโหลดวิดีโอ
เนื่องจาก API Explorer ไม่รองรับความสามารถในการอัปโหลดไฟล์ คำอธิบายนี้จึงไม่ได้ลิงก์ไปยังตัวอย่างที่เรียกใช้งานได้ แหล่งข้อมูลต่อไปนี้จะช่วยคุณแก้ไขแอปพลิเคชันเพื่อให้สามารถอัปโหลดวิดีโอโดยใช้ API เวอร์ชัน 3 ได้
-
เอกสารประกอบสำหรับเมธอด videos.insert ของ API มีตัวอย่างโค้ดหลายรายการที่อธิบายวิธีอัปโหลดวิดีโอโดยใช้ภาษาโปรแกรมต่างๆ
-
คู่มือการอัปโหลดต่อจะอธิบายลำดับคำขอ HTTP ที่แอปพลิเคชันใช้ในการอัปโหลดวิดีโอโดยใช้กระบวนการอัปโหลดต่อ คู่มือนี้มีไว้สำหรับนักพัฒนาซอฟต์แวร์ที่ไม่สามารถใช้ไลบรารีของไคลเอ็นต์ Google API เป็นหลัก ซึ่งบางไลบรารีรองรับการอัปโหลดต่อได้แบบเนทีฟ
-
ตัวอย่าง JavaScript สำหรับการอัปโหลดวิดีโอใช้ CORS (การแชร์ทรัพยากรข้ามโดเมน) เพื่อแสดงวิธีอัปโหลดไฟล์วิดีโอผ่านหน้าเว็บ ไลบรารีการอัปโหลด CORS ที่ API v3 ใช้รองรับการอัปโหลดต่อได้โดยอัตโนมัติ นอกจากนี้ ตัวอย่างยังแสดงวิธีตรวจสอบสถานะของวิดีโอที่อัปโหลดโดยการดึงข้อมูลส่วน
processingDetails
ของทรัพยากรvideo
รวมถึงวิธีจัดการการเปลี่ยนแปลงสถานะของวิดีโอที่อัปโหลด
ตรวจสอบสถานะของวิดีโอที่อัปโหลด
ตัวอย่างนี้แสดงวิธีตรวจสอบสถานะของวิดีโอที่อัปโหลด วิดีโอที่อัปโหลดจะปรากฏในฟีดวิดีโอที่อัปโหลดของผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ทันที อย่างไรก็ตาม วิดีโอจะไม่ปรากฏบน YouTube จนกว่าจะได้รับการประมวลผล
-
ขั้นตอนที่ 1: อัปโหลดวิดีโอ
เรียกใช้เมธอด
videos.insert
เพื่ออัปโหลดวิดีโอ หากคำขอสำเร็จ การตอบกลับของ API จะมีทรัพยากรvideo
ที่ระบุรหัสวิดีโอที่ไม่ซ้ำกันสำหรับวิดีโอที่อัปโหลด -
ขั้นตอนที่ 2: ตรวจสอบสถานะของวิดีโอ
เรียกใช้เมธอด
videos.list
เพื่อตรวจสอบสถานะของวิดีโอ ตั้งค่าid
เป็นรหัสวิดีโอที่ได้ในขั้นตอนที่ 1 ตั้งค่าพารามิเตอร์part
เป็นprocessingDetails
หากจัดการคำขอสำเร็จ การตอบกลับของ API จะมีทรัพยากร
video
ตรวจสอบค่าของพร็อพเพอร์ตี้processingDetails.processingStatus
เพื่อดูว่า YouTube ยังประมวลผลวิดีโออยู่หรือไม่ ค่าของพร็อพเพอร์ตี้จะเปลี่ยนเป็นค่าอื่นที่ไม่ใช่processing
เช่นsucceeded
หรือfailed
เมื่อ YouTube ประมวลผลวิดีโอเสร็จแล้วเนื้อหาของคำขอคือ
video
ทรัพยากรที่พร็อพเพอร์ตี้id
ระบุรหัสวิดีโอของวิดีโอที่คุณกำลังจะลบ ในตัวอย่างนี้ แหล่งข้อมูลยังมีออบเจ็กต์recordingDetails
ด้วยคำขอต่อไปนี้จะตรวจสอบสถานะของวิดีโอ หากต้องการดำเนินการคำขอใน API Explorer ให้เสร็จสมบูรณ์ คุณต้องตั้งค่าของพร็อพเพอร์ตี้
id
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list? part=snippet,processingDetails &id=VIDEO_ID
หมายเหตุ: แอปพลิเคชันของคุณสามารถสำรวจ API เพื่อตรวจสอบสถานะของวิดีโอที่อัปโหลดใหม่เป็นระยะๆ ได้ เมื่อประมวลผลวิดีโอแล้ว แอปพลิเคชันของคุณจะสร้างกระดานข่าวหรือดำเนินการอื่นต่อได้โดยขึ้นอยู่กับสถานะของวิดีโอ
อัปเดตวิดีโอ
ตัวอย่างนี้แสดงวิธีอัปเดตวิดีโอเพื่อเพิ่มข้อมูลเกี่ยวกับเวลาและสถานที่ที่บันทึกวิดีโอ ตัวอย่างมีขั้นตอนดังนี้
-
ขั้นตอนที่ 1: ดึงข้อมูลรหัสวิดีโอ
ทำตามขั้นตอนด้านบนเพื่อดึงข้อมูลวิดีโอที่อัปโหลดสำหรับช่องของผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ในปัจจุบัน โดยคุณสามารถใช้รายการนี้เพื่อแสดงรายการวิดีโอได้โดยใช้รหัสของวิดีโอแต่ละรายการเป็นคีย์
หมายเหตุ: คุณสามารถรับรหัสวิดีโอได้อีกหลายวิธี เช่น การดึงผลการค้นหาหรือการแสดงรายการในเพลย์ลิสต์ อย่างไรก็ตาม เนื่องจากมีเพียงเจ้าของเท่านั้นที่อัปเดตวิดีโอได้ การดึงข้อมูลรายการวิดีโอที่ผู้ใช้ซึ่งให้สิทธิ์คำขอ API เป็นเจ้าของจึงน่าจะเป็นขั้นตอนแรกในกระบวนการนี้
-
ขั้นตอนที่ 2: อัปเดตวิดีโอ
เรียกใช้เมธอด
videos.update
เพื่ออัปเดตวิดีโอที่เฉพาะเจาะจง ตั้งค่าพารามิเตอร์part
เป็นrecordingDetails
(ค่าพารามิเตอร์จะขึ้นอยู่กับฟิลด์ข้อมูลเมตาของวิดีโอที่กำลังอัปเดต)เนื้อหาของคำขอคือทรัพยากร
video
ซึ่งพร็อพเพอร์ตี้id
จะระบุรหัสวิดีโอของวิดีโอที่คุณกำลังอัปเดต ในตัวอย่างนี้ แหล่งข้อมูลยังมีออบเจ็กต์recordingDetails
ด้วยตัวอย่างทรัพยากรด้านล่างระบุว่าวิดีโอได้รับการบันทึกเมื่อวันที่ 30 ตุลาคม 2013 ในบอสตัน
{ "id": "VIDEO_ID", "recordingDetails": { "location": { "latitude": "42.3464", "longitude": "-71.0975" } "recordingDate": "2013-10-30T23:15:00.000Z" } }
หากต้องการดำเนินการคำขอใน API Explorer ให้เสร็จสมบูรณ์ คุณต้องตั้งค่าของพร็อพเพอร์ตี้
id
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update? part=snippet
อัปโหลดรูปภาพภาพปกที่ทำเองและตั้งเป็นภาพปกของวิดีโอ
คุณสามารถใช้วิธี thumbnails.set
ของ API เวอร์ชัน 3 เพื่ออัปโหลดรูปภาพภาพปกที่กำหนดเองและตั้งค่าให้วิดีโอได้ ในคำขอ ค่าของvideoId
พารามิเตอร์จะระบุวิดีโอที่จะใช้ภาพปก
คุณทดสอบการค้นหานี้โดยใช้โปรแกรมสำรวจ API ไม่ได้เนื่องจากโปรแกรมสำรวจ API ไม่รองรับความสามารถในการอัปโหลดไฟล์สื่อ ซึ่งเป็นข้อกำหนดสำหรับวิธีการนี้
ลบวิดีโอ
ตัวอย่างนี้แสดงวิธีลบวิดีโอ ตัวอย่างมีขั้นตอนดังนี้
-
ขั้นตอนที่ 1: ดึงข้อมูลรหัสวิดีโอ
ทำตามขั้นตอนด้านบนเพื่อดึงข้อมูลวิดีโอที่อัปโหลดสำหรับช่องของผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ในปัจจุบัน โดยคุณสามารถใช้รายการนี้เพื่อแสดงรายการวิดีโอได้โดยใช้รหัสของวิดีโอแต่ละรายการเป็นคีย์
หมายเหตุ: คุณสามารถรับรหัสวิดีโอได้อีกหลายวิธี เช่น การดึงผลการค้นหาหรือการแสดงรายการในเพลย์ลิสต์ อย่างไรก็ตาม เนื่องจากมีเพียงเจ้าของเท่านั้นที่ลบวิดีโอได้ การดึงรายการวิดีโอที่ผู้ใช้ซึ่งให้สิทธิ์คำขอ API เป็นเจ้าของจึงน่าจะเป็นขั้นตอนแรกในกระบวนการนี้
-
ขั้นตอนที่ 2: ลบวิดีโอ
เรียกใช้เมธอด
videos.delete
เพื่อลบวิดีโอที่เฉพาะเจาะจง ในคำขอ พารามิเตอร์id
จะระบุรหัสวิดีโอของวิดีโอที่คุณกำลังลบ คำขอต้องได้รับอนุญาตโดยใช้ OAuth 2.0 หากคุณทดสอบคำค้นหานี้ในโปรแกรมสำรวจ API คุณจะต้องแทนที่ค่าพารามิเตอร์id
ด้วยรหัสวิดีโอที่ถูกต้องhttps://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete? id=VIDEO_ID
รายงานวิดีโอที่มีการละเมิด
ตัวอย่างนี้แสดงวิธีรายงานวิดีโอที่มีเนื้อหาที่เป็นการละเมิด ตัวอย่างมีขั้นตอนดังนี้
-
ขั้นตอนที่ 1: ดึงข้อมูลรหัสที่อธิบายว่าทำไมจึงมีการรายงานวิดีโอ
ส่งคำขอที่ได้รับอนุญาตไปยังเมธอด
videoAbuseReportReasons.list
เพื่อดึงรายการเหตุผลที่ถูกต้องสำหรับการแจ้งว่าวิดีโอไม่เหมาะสม ตัวอย่างvideoAbuseReportReason
ทรัพยากรด้านล่างมีข้อมูลสำหรับการแจ้งวิดีโอที่มีสแปมหรือเนื้อหาที่ทำให้เข้าใจผิด{ "kind": "youtube#videoAbuseReportReason", "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"", "id": "S", "snippet": { "label": "Spam or misleading", "secondaryReasons": [ { "id": "27", "label": "Spam or mass advertising" }, { "id": "28", "label": "Misleading thumbnail" }, { "id": "29", "label": "Malware or phishing" }, { "id": "30", "label": "Pharmaceutical drugs for sale" }, { "id": "31", "label": "Other misleading info" } ] } }
ดังที่แสดงในแหล่งข้อมูล เหตุผลนี้เชื่อมโยงกับรายการเหตุผลรอง เมื่อแจ้งว่าวิดีโอมีสแปม คุณต้องระบุรหัสของเหตุผลและขอแนะนำอย่างยิ่งให้ระบุเหตุผลรองด้วย
-
ขั้นตอนที่ 2: แจ้งว่าวิดีโอมีเนื้อหาที่เป็นการละเมิด
ส่งคำขอที่ได้รับอนุญาตไปยังเมธอด
พร็อพเพอร์ตี้videos.reportAbuse
เพื่อรายงานวิดีโอจริงๆ เนื้อหาของคำขอเป็นออบเจ็กต์ JSON ที่ระบุทั้งวิดีโอที่ถูกแจ้งและเหตุผลที่ถูกแจ้ง ดังที่ระบุไว้ในขั้นตอนที่ 1 ระบบรองรับและขอแนะนำอย่างยิ่งให้ระบุเหตุผลรองสำหรับเหตุผลบางประเภทvideoId
ของออบเจ็กต์ JSON จะระบุวิดีโอที่ถูกแจ้งว่าไม่เหมาะสมออบเจ็กต์ JSON ตัวอย่างด้านล่างจะแจ้งว่าวิดีโอมีสแปมหรือเนื้อหาที่ทำให้เข้าใจผิด และระบุอย่างเจาะจงว่ามีการใช้ภาพปกที่ทำให้เข้าใจผิด ดังที่แสดงในออบเจ็กต์ JSON ตัวอย่างด้านบน รหัสสำหรับเนื้อหาสแปมหรือเนื้อหาที่ทำให้เข้าใจผิดคือ S รหัสสำหรับภาพปกที่ทำให้เข้าใจผิดคือ 28
{ "videoId": "VIDEO_ID", "reasonId": "S", "secondaryReasonId": "28", "comments": "Testing the video flagging feature.", "language": "en" }
videos.reportAbuse
ต้องได้รับอนุญาตโดยใช้ OAuth 2.0 ลิงก์ด้านล่างจะโหลดออบเจ็กต์ JSON ด้านบนใน API Explorer หากต้องการทดสอบการค้นหา คุณต้องแทนที่ค่าพร็อพเพอร์ตี้videoId
ด้วยรหัสวิดีโอที่ถูกต้อง โปรดทราบว่าการส่งคำขอนี้จะเป็นการแจ้งว่าวิดีโอดังกล่าวไม่เหมาะสมhttps://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse