การใช้งาน: วิดีโอ

ตัวอย่างต่อไปนี้แสดงวิธีใช้ YouTube Data API (v3) เพื่อดำเนินการที่เกี่ยวข้องกับวิดีโอ

เรียกข้อมูลวิดีโอที่อัปโหลดของช่อง

ตัวอย่างนี้จะดึงข้อมูลวิดีโอที่อัปโหลดไปยังช่องหนึ่งๆ ตัวอย่างนี้มี 2 ขั้นตอน ดังนี้

  • ขั้นตอนที่ 1: เรียกข้อมูลรหัสเพลย์ลิสต์สำหรับวิดีโอที่อัปโหลดของช่อง

    เรียกใช้เมธอด channels.list เพื่อดึงรหัสของเพลย์ลิสต์ที่มีวิดีโอที่อัปโหลดของช่อง ค่าพารามิเตอร์ part ของคําขอต้องมี contentDetails เป็นหนึ่งในชิ้นส่วนทรัพยากร channel ที่จะดึงข้อมูล ในคำตอบของ API พร็อพเพอร์ตี้ contentDetails.relatedPlaylists.uploads จะมีรหัสเพลย์ลิสต์

    คุณสามารถระบุช่องได้หลายวิธี ดังนี้

  • ขั้นตอนที่ 2: เรียกข้อมูลรายการวิดีโอที่อัปโหลด

    เรียกใช้เมธอด playlistItems.list เพื่อเรียกข้อมูลรายการวิดีโอที่อัปโหลด ตั้งค่าพารามิเตอร์ playlistId เป็นค่าที่ได้ในขั้นตอนที่ 1 ในตัวอย่างนี้ ค่าพารามิเตอร์คือ UUK8sQmJBp8GCxrOtXWBpyEA ซึ่งเป็นรายการวิดีโอที่อัปโหลดไปยังช่อง YouTube อย่างเป็นทางการของ Google

    https://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
        &regionCode=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 ไม่รองรับการอัปโหลดไฟล์สื่อ ซึ่งเป็นข้อกำหนดสำหรับวิธีการนี้

ตัวอย่างโค้ดที่เกี่ยวข้อง: PHP, Python

ลบวิดีโอ

ตัวอย่างนี้แสดงวิธีลบวิดีโอ ตัวอย่างนี้มีขั้นตอนดังนี้

  • ขั้นตอนที่ 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