ตัวอย่างต่อไปนี้จะแสดงวิธีใช้ YouTube Data API (v3) เพื่อทํางานที่เกี่ยวข้องกับวิดีโอ
ดึงข้อมูลวิดีโอที่อัปโหลดของช่อง
ตัวอย่างนี้จะเรียกวิดีโอที่อัปโหลดไปยังช่องใดช่องหนึ่ง ตัวอย่างนี้มีขั้นตอนสองขั้นตอน:
-
ขั้นตอนที่ 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
เมื่อเรียกข้อมูลรายการนี้ คุณจะตั้งค่าพารามิเตอร์ต่อไปนี้ 1 หรือทั้ง 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 Explorer ไม่รองรับความสามารถในการอัปโหลดไฟล์ คําอธิบายนี้จึงไม่ได้ลิงก์กับตัวอย่างที่ดําเนินการได้ แหล่งข้อมูลต่อไปนี้จะช่วยคุณในการแก้ไขแอปพลิเคชันเพื่อให้แอปพลิเคชันสามารถอัปโหลดวิดีโอโดยใช้ v3 API:
-
เอกสารสําหรับเมธอด 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
ของ v3 API เพื่ออัปโหลดภาพขนาดย่อที่กําหนดเองและตั้งค่าสําหรับวิดีโอ ในคําขอ ค่าพารามิเตอร์ของ videoId
จะระบุวิดีโอที่จะใช้ภาพขนาดย่อ
ทดสอบการค้นหาด้วย API Explorer ไม่ได้ เนื่องจาก API Explorer ไม่รองรับความสามารถในการอัปโหลดไฟล์สื่อ ซึ่งเป็นข้อกําหนดสําหรับวิธีนี้
ลบวิดีโอ
ตัวอย่างนี้แสดงวิธีลบวิดีโอ ตัวอย่างมีขั้นตอนต่อไปนี้
-
ขั้นตอนที่ 1: ดึงรหัสวิดีโอ
ทําตามขั้นตอนด้านบนเพื่อเรียกวิดีโอที่อัปโหลดสําหรับช่องของผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ในปัจจุบัน รายการนี้อาจใช้เพื่อแสดงรายการวิดีโอ โดยใช้รหัสของแต่ละวิดีโอเป็นคีย์
หมายเหตุ: มีวิธีอื่นๆ มากมายในการรับรหัสวิดีโอ เช่น การดึงผลการค้นหาหรือการแสดงรายการในเพลย์ลิสต์ อย่างไรก็ตาม เนื่องจากมีเพียงเจ้าของวิดีโอเท่านั้นที่ลบวิดีโอได้ การดึงรายการวิดีโอของผู้ใช้ที่อนุญาตคําขอ API จึงน่าจะเป็นขั้นตอนแรกในกระบวนการ
-
ขั้นตอนที่ 2: ลบวิดีโอ
เรียกใช้เมธอด
videos.delete
เพื่อลบวิดีโอที่เฉพาะเจาะจง ในคําขอ พารามิเตอร์id
จะระบุรหัสวิดีโอของวิดีโอที่คุณกําลังลบ คําขอต้องได้รับอนุญาตโดยใช้ OAuth 2.0 หากทดสอบคําค้นหานี้ใน API Explorer คุณจะต้องแทนที่รหัสวิดีโอที่ถูกต้องสําหรับค่าพารามิเตอร์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