ตัวอย่างต่อไปนี้แสดงวิธีใช้ 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
เมื่อดึงข้อมูลรายการนี้ คุณจะตั้งค่าพารามิเตอร์ต่อไปนี้อย่างใดอย่างหนึ่งหรือทั้ง 2 อย่างก็ได้
regionCode
: สั่งให้ API แสดงรายการวิดีโอสำหรับภูมิภาคที่ระบุvideoCategoryId
: ระบุหมวดหมู่วิดีโอที่ควรดึงข้อมูลวิดีโอยอดนิยม
คําขอด้านล่างจะดึงข้อมูลวิดีโอกีฬาที่ได้รับความนิยมสูงสุดในสเปน
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list? part=snippet &chart=mostPopular ®ionCode=es &videoCategoryId=17
อัปโหลดวิดีโอ
เนื่องจากเครื่องมือสํารวจ API ไม่รองรับการอัปโหลดไฟล์ คําอธิบายนี้จึงไม่ได้ลิงก์ไปยังตัวอย่างที่เรียกใช้ได้ แหล่งข้อมูลต่อไปนี้จะช่วยคุณแก้ไขแอปพลิเคชันเพื่อให้อัปโหลดวิดีโอโดยใช้ v3 API ได้
-
เอกสารประกอบสำหรับเมธอด videos.insert ของ API มีตัวอย่างโค้ดหลายรายการที่อธิบายวิธีอัปโหลดวิดีโอโดยใช้ภาษาโปรแกรมต่างๆ
-
คู่มือการอัปโหลดที่กลับมาดำเนินการต่อได้จะอธิบายลำดับคำขอ HTTP ที่แอปพลิเคชันใช้เพื่ออัปโหลดวิดีโอโดยใช้กระบวนการอัปโหลดที่กลับมาดำเนินการต่อได้ คู่มือนี้มีไว้สำหรับนักพัฒนาซอฟต์แวร์ที่ใช้ไลบรารีของไคลเอ็นต์ Google API ไม่ได้เป็นหลัก ซึ่งบางรายการรองรับการอัปโหลดแบบเริ่มใหม่ได้
-
ตัวอย่าง JavaScript สําหรับการอัปโหลดวิดีโอใช้ CORS (การแชร์ทรัพยากรข้ามโดเมน) เพื่อสาธิตวิธีอัปโหลดไฟล์วิดีโอผ่านหน้าเว็บ ไลบรารีการอัปโหลด CORS ที่ v3 API ใช้รองรับการอัปโหลดที่กลับมาดำเนินการต่อได้อยู่แล้ว นอกจากนี้ ตัวอย่างนี้ยังแสดงวิธีตรวจสอบสถานะของวิดีโอที่อัปโหลดโดยดึงข้อมูล
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
ด้วยคำขอด้านล่างจะตรวจสอบสถานะของวิดีโอ คุณต้องตั้งค่าพร็อพเพอร์ตี้
id
เพื่อให้คําขอในเครื่องมือสํารวจ API ทํางานได้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" } }
คุณต้องตั้งค่าพร็อพเพอร์ตี้
id
เพื่อให้คําขอในเครื่องมือสํารวจ API ทํางานได้https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update? part=snippet
อัปโหลดรูปภาพขนาดย่อที่กำหนดเองและตั้งค่าสำหรับวิดีโอ
คุณสามารถใช้เมธอด thumbnails.set
ของ v3 API เพื่ออัปโหลดรูปภาพขนาดย่อที่กำหนดเองและกำหนดรูปภาพนั้นให้กับวิดีโอได้ ในคำขอ ค่าของพารามิเตอร์ 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 หากต้องการทดสอบข้อความค้นหา คุณต้องแทนที่ค่าพร็อพเพอร์ตี้videoId
ด้วยรหัสวิดีโอที่ถูกต้อง โปรดทราบว่าการส่งคำขอนี้จะแจ้งว่าวิดีโอไม่เหมาะสมhttps://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse