ตัวอย่างคำขอ API

หน้านี้แสดงคำขอตัวอย่างที่ส่งไปยัง YouTube Data API คุณใช้ YouTube Data API เพื่อดึงและจัดการแหล่งข้อมูล YouTube เช่น วิดีโอ ช่อง และเพลย์ลิสต์ ตัวอย่างแต่ละรายการจะลิงก์ไปยังและป้อนข้อมูลใน Google APIs Explorer เพื่อให้คุณเรียกใช้ตัวอย่างและดูการตอบกลับได้

ดูข้อมูลเกี่ยวกับการ อัปโหลดเนื้อหาโดยใช้ YouTube Data API ได้ที่ การอัปโหลดที่ดำเนินการต่อได้

ภาพรวม

เพื่อให้การนำเสนอชัดเจน ตัวอย่างในหน้านี้จะแสดงองค์ประกอบที่โดดเด่นของคำขอแต่ละรายการและย่อ URL ฐานสำหรับโฮสต์ที่ประมวลผลคำขอ Data API (https://www.googleapis.com/youtube/v3) หากต้องการส่งคำขอนอกบริบทของตัวอย่าง คุณต้องใส่ URL แบบเต็ม

ตัวอย่างเช่น คำขอตัวอย่างต่อไปนี้จะปรากฏในหน้านี้

GET {base-URL}/channels?part=contentDetails
                       &mine=true

URL แบบเต็มสำหรับคำขอนี้คือ

GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails
                                                  &mine=true

คำขอหลายรายการจะดึงข้อมูลที่เจ้าของช่อง YouTube เท่านั้นที่เข้าถึงได้ เช่น รายการผู้ติดตาม คำขอเหล่านี้กำหนดให้เจ้าของช่องต้องให้สิทธิ์ Google APIs Explorer ในการส่งคำขอ YouTube Data API ในนามของตน (ดูรายละเอียดเกี่ยวกับการให้สิทธิ์เข้าถึงข้อมูลช่องส่วนตัวได้ที่การใช้การตรวจสอบสิทธิ์ OAuth 2.0) หลังจากลิงก์ไปยังโปรแกรมสำรวจ API แล้ว ให้คลิกปุ่มให้สิทธิ์คำขอโดยใช้ OAuth 2.0 ขั้นตอนนี้จะให้สิทธิ์โปรแกรมสำรวจ API ในการส่งคำขอในนามของเจ้าของ นอกจากนี้ คุณยังเลือกขอบเขตของการให้สิทธิ์ ซึ่งจะระบุประเภทคำขอที่โปรแกรมสำรวจ API ส่งได้

การตอบกลับคำขอแต่ละรายการคือการแสดงแหล่งข้อมูล YouTube ในรูปแบบ JSON พารามิเตอร์ part ในคำขอจะระบุส่วนของแหล่งข้อมูลที่จะรวมไว้ในการตอบกลับ พารามิเตอร์จะระบุพร็อพเพอร์ตี้แหล่งข้อมูลระดับบนสุด (ไม่ซ้อนกัน) อย่างน้อย 1 รายการที่ควรจะรวมไว้ในการตอบกลับ ตัวอย่างเช่น ส่วนต่างๆ ของแหล่งข้อมูลวิดีโอมีดังนี้

  • ตัวอย่างข้อมูล
  • contentDetails
  • ผู้เล่น
  • สถิติ
  • สถานะ

ส่วนทั้งหมดนี้เป็นออบเจ็กต์ที่มีพร็อพเพอร์ตี้ซ้อนกัน และคุณสามารถพิจารณาออบเจ็กต์เหล่านี้เป็นกลุ่มของช่องข้อมูลเมตาที่เซิร์ฟเวอร์ API อาจดึงข้อมูลหรือไม่ก็ได้ ดังนั้น พารามิเตอร์ part จึงกำหนดให้คุณต้องเลือกคอมโพเนนต์ของแหล่งข้อมูลที่แอปพลิเคชันของคุณใช้จริงดูข้อมูลเพิ่มเติมได้ที่ การเริ่มต้นใช้งาน YouTube Data API

ดึงข้อมูลช่อง

คำขอนี้ใช้วิธี channels.list เพื่อดึงรายละเอียดเกี่ยวกับช่องของผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว

GET {base_URL}/channels?part=contentDetails
                       &mine=true

การตอบกลับคำขอนี้จะมีรหัสช่องและ contentDetails สำหรับช่องของผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว contentDetails จะมีเพลย์ลิสต์หลายรายการที่ระบบสร้างขึ้นซึ่งเชื่อมโยงกับช่อง คำขอในภายหลังหลายรายการต้องใช้รหัสช่องหรือรหัสเพลย์ลิสต์รายการใดรายการหนึ่ง ดังนั้นคุณจึงควรบันทึกรหัสเหล่านี้ไว้

{
  "id": {CHANNEL_ID},
  "kind": "youtube#channel",
  "etag": etag,
  "contentDetails": {
    "relatedPlaylists": {
      "likes": {LIKES_PLAYLIST_ID},
      "favorites": {FAVORITES_PLAYLIST_ID},
      "uploads": {UPLOADS_PLAYLIST_ID},
      "watchHistory": {WATCHHISTORY_PLAYLIST_ID},
      "watchLater": {WATCHLATER_PLAYLIST_ID}
    },
    "googlePlusUserId": string
  },
}

วิดีโอที่อัปโหลดและเพลย์ลิสต์ที่ระบบสร้างขึ้น

YouTube จะเพิ่มวิดีโอที่อัปโหลดทั้งหมดลงในเพลย์ลิสต์ที่เชื่อมโยงกับช่อง หากต้องการดูรายการวิดีโอที่อัปโหลด ให้ค้นหาเพลย์ลิสต์ "uploads" ที่แสดงผลใน การตอบกลับที่แสดงด้านบนสำหรับข้อมูลช่อง โดยใช้วิธี playlistItems.list เพื่อดึงวิดีโอในเพลย์ลิสต์นั้น

ก่อนที่จะเรียกใช้คำขอตัวอย่างต่อไปนี้ใน Google APIs Explorer ให้แทนที่ {UPLOADS_PLAYLIST_ID} ด้วยรหัสเพลย์ลิสต์จากคำขอก่อนหน้า

GET {base_URL}/playlistItems?part=contentDetails
                            &playlistId={UPLOADS_PLAYLIST_ID}

โปรดทราบว่าค่า "id" สำหรับแต่ละรายการที่แสดงผลคือรหัส playlistItem รหัสวิดีโอสำหรับ playlistItem คือ videoId ในส่วน contentDetails

คุณสามารถดึงรายการโปรด รายการวิดีโอที่ชอบ ประวัติการดู หรือรายการดูภายหลังของผู้ใช้ได้โดยใช้คำขอข้างต้น โดยแทนที่รหัสเพลย์ลิสต์ที่เกี่ยวข้องจากการตอบกลับข้อมูลช่อง

เพลย์ลิสต์ที่ผู้ใช้สร้าง

คำขอนี้ใช้วิธี playlists.list เพื่อดึงเพลย์ลิสต์ที่เชื่อมโยงกับช่องที่ตรวจสอบสิทธิ์แล้ว โปรดทราบว่าคำขอนี้ ไม่ ดึงเพลย์ลิสต์ที่ระบบสร้างขึ้นซึ่งรวมอยู่ในข้อมูลช่อง (uploads, watchHistory และอื่นๆ) โดยจะดึงเฉพาะเพลย์ลิสต์ที่ผู้ใช้สร้างขึ้น

GET {base_URL}/playlists?part=snippet
                        &mine=true

เมื่อมีรหัสเพลย์ลิสต์แล้ว คุณจะดึงรายการจากเพลย์ลิสต์ได้โดยใช้คำขอที่แสดงในส่วนก่อนหน้า

คุณสามารถขอข้อมูลเกี่ยวกับเพลย์ลิสต์สาธารณะของช่องได้โดยไม่ต้องตรวจสอบสิทธิ์ เมื่อส่งคำขอที่ไม่ได้ตรวจสอบสิทธิ์ คุณต้องใส่อาร์กิวเมนต์ key ที่ระบุ คีย์ API ที่ไม่ซ้ำกันสำหรับแอปพลิเคชันที่ส่งคำขอ ตัวอย่างเช่น คำขอนี้จะดึงเพลย์ลิสต์ที่เชื่อมโยงกับช่อง GoogleDevelopers

GET {base_URL}/playlists?part=snippet
                        &channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw
                        &key={YOUR_API_KEY}

ดึงการสมัครใช้บริการ

แหล่งข้อมูล subscription จะกำหนดความสัมพันธ์ระหว่างผู้ใช้ YouTube (ผู้ติดตาม) กับช่อง วิธี subscriptions.list จะดึงผู้ติดตามของช่องที่เฉพาะเจาะจงหรือการสมัครใช้บริการของผู้ใช้ที่เฉพาะเจาะจง ทั้งนี้ขึ้นอยู่กับพารามิเตอร์ที่คุณรวมไว้ในคำขอ

ผู้ติดตามช่อง

คำขอนี้จะดึงรายการผู้ติดตามของช่องที่ตรวจสอบสิทธิ์แล้ว

GET {base_URL}/subscriptions?part=snippet
                            &mySubscribers=true

การสมัครใช้บริการของผู้ใช้

คุณสามารถใช้วิธีเดียวกับที่แสดงรายการผู้ติดตาม (subscriptions.list) เพื่อแสดงรายการช่องที่ผู้ใช้ติดตาม คำขอนี้ใช้พารามิเตอร์ mine เพื่อดึงรายการช่อง YouTube ที่ผู้ใช้ที่ตรวจสอบสิทธิ์แล้วติดตาม

GET {base_URL}/subscriptions?part=snippet
                            &mine=true

ดึงกิจกรรมของผู้ใช้

แหล่งข้อมูล activity มีข้อมูลเกี่ยวกับการดำเนินการที่ช่องหรือผู้ใช้ที่เฉพาะเจาะจงดำเนินการบน YouTube เช่น การอัปโหลดวิดีโอ การติดตามช่อง และอื่นๆ วิธี activities.list จะดึงการดำเนินการที่เชื่อมโยงกับช่องหรือผู้ใช้ซึ่งตรงกับเกณฑ์คำขอ ตัวอย่างเช่น คุณสามารถดึงการดำเนินการที่เชื่อมโยงกับช่องที่เฉพาะเจาะจง การสมัครใช้บริการของผู้ใช้ หรือหน้าแรกของ YouTube ที่กำหนดเองของผู้ใช้

กิจกรรมในช่วงระยะเวลาหนึ่ง

คำขอนี้จะดึงการดำเนินการทั้งหมดที่ผู้ใช้ที่ตรวจสอบสิทธิ์แล้วดำเนินการในช่วงเดือนเมษายน 2013

GET {base_URL}/activities?part=snippet,contentDetails
                         &mine=true
                         &publishedAfter=2013-04-01T00%3A00%3A00Z
                         &publishedBefore=2013-05-01T00%3A00%3A00Z

กิจกรรมในหน้าแรก

คำขอนี้จะดึงฟีดกิจกรรมที่กำหนดเองซึ่งแสดงในหน้าแรกของ YouTube ของผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว 

GET {base_URL}/activities?part=snippet,contentDetails
                         &home=true

หากต้องการดึงสถิติการดู เมตริกความนิยม และข้อมูลประชากรของวิดีโอ YouTube และช่อง ให้ใช้ YouTube Analytics API หน้าคำขอ API ตัวอย่างจะแสดงวิธีดึงรายงานทั่วไปจากข้อมูลวิเคราะห์ YouTube

วิธี search.list ช่วยให้คุณค้นหาวิดีโอ YouTube ช่อง หรือเพลย์ลิสต์ที่ตรงกับเกณฑ์ที่ระบุได้ คุณสามารถค้นหาตามพร็อพเพอร์ตี้ของวิดีโอ คีย์เวิร์ด หรือหัวข้อ (หรือการผสมผสานระหว่างเกณฑ์เหล่านี้) และจัดเรียงผลการค้นหาตามปัจจัยต่างๆ เช่น วันที่สร้าง จำนวนการดู หรือคะแนน

เช่นเดียวกับคำขอ YouTube Data API อื่นๆ วิธี search.list จะแสดงการแสดงแหล่งข้อมูล YouTube ในรูปแบบ JSON อย่างไรก็ตาม ผลการค้นหาไม่ใช่แหล่งข้อมูล YouTube อื่นๆ ที่เป็นออบเจ็กต์แบบถาวรที่มีรหัสที่ไม่ซ้ำกัน

คำขอหลายรายการจะค้นหาเนื้อหาที่พร้อมใช้งานแบบสาธารณะ จึงไม่จำเป็นต้องตรวจสอบสิทธิ์ ในตัวอย่างด้านล่าง มีเพียงตัวอย่างแรกเท่านั้นที่ต้องตรวจสอบสิทธิ์ เนื่องจากมีการขอวิดีโอ "ของฉัน" โดยเฉพาะ เมื่อส่งคำขอที่ไม่ได้ตรวจสอบสิทธิ์ คุณต้องใส่อาร์กิวเมนต์ key ที่ระบุ คีย์ API ที่ไม่ซ้ำกันสำหรับแอปพลิเคชันของคุณ

วิดีโอที่มีคนดูมากที่สุดของฉัน

คำขอนี้จะดึงวิดีโอทั้งหมดของผู้ใช้ที่ตรวจสอบสิทธิ์แล้วและแสดงรายการวิดีโอตามจำนวนการดูจากมากไปน้อย

GET {base_URL}/search?part=snippet
                     &forMine=true
                     &order=viewCount
                     &type=video

วิดีโอความละเอียดสูงที่ฝังได้

คำขอนี้จะค้นหาวิดีโอที่มีพร็อพเพอร์ตี้ที่เฉพาะเจาะจง ได้แก่วิดีโอความละเอียดสูงที่ฝังในเว็บไซต์อื่นได้ โดยจะแสดงผลการค้นหาตามคะแนนจากมากไปน้อย

GET {base_URL}/search?part=snippet
                     &order=rating
                     &type=video
                     &videoDefinition=high
                     &videoEmbeddable=true
                     &key={YOUR_API_KEY}

วิดีโอเกี่ยวกับเรื่องใดเรื่องหนึ่ง

คำขอนี้จะค้นหาวิดีโอเกี่ยวกับ YouTube Data API ที่มีคำบรรยายโดยใช้คีย์เวิร์ด

GET {base_URL}/search?part=snippet
                     &q=YouTube+Data+API
                     &type=video
                     &videoCaption=closedCaption
                     &key={YOUR_API_KEY}

การค้นหาตามหัวข้อ

วิธีที่ซับซ้อนกว่าในการค้นหาวิดีโอในหัวข้อที่เฉพาะเจาะจงคือการใช้หัวข้อ Freebaseแทนคีย์เวิร์ด แหล่งข้อมูลช่อง YouTube และวิดีโอทั้งหมดจะมีออบเจ็กต์ topicDetails ที่มีรายการรหัสหัวข้อ Freebase ที่เชื่อมโยงกับแหล่งข้อมูล การค้นหาตามหัวข้อมีความชาญฉลาดกว่าการค้นหาด้วยคีย์เวิร์ด เนื่องจากหัวข้อ Freebase แสดงถึงทุกแง่มุมของแนวคิดหรือสิ่งต่างๆ ในโลกแห่งความเป็นจริง

หากต้องการค้นหาโดยใช้หัวข้อ Freebase คุณต้องดึงรหัสหัวข้อโดยใช้ Freebase API ก่อน คำขอนี้จะแสดงวิดีโอที่เชื่อมโยงกับหัวข้อ Freebase สำหรับ Python ซึ่งมีรหัสหัวข้อเป็น /m/05z1_

GET {base_URL}/search?part=snippet
                     &topicId=/m/05z1_
                     &type=video
                     &key={YOUR_API_KEY}

การค้นหาเพลย์ลิสต์หรือช่อง

การค้นหาไม่ได้จำกัดอยู่เพียงวิดีโอเท่านั้น คุณยังค้นหาเพลย์ลิสต์หรือช่องได้ด้วย คำขอนี้จะดึงเพลย์ลิสต์ที่ตรงกับคีย์เวิร์ด "ฟุตบอล"

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &type=playlist
                     &key={YOUR_API_KEY}

หากต้องการค้นหาช่องฟุตบอล ให้เปลี่ยนพารามิเตอร์ type

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &type=channel
                     &key={YOUR_API_KEY}

หากต้องการค้นหาเนื้อหาทั้งหมดที่เกี่ยวข้องกับฟุตบอล (ช่อง เพลย์ลิสต์ และวิดีโอ) คุณสามารถทำการค้นหาแบบครอบคลุม หากไม่ใส่พารามิเตอร์ type คำขอจะดึงเนื้อหาทุกประเภท

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &key={YOUR_API_KEY}

สร้างและอัปเดตแหล่งข้อมูล

คำขอที่เราดูมาจนถึงตอนนี้ใช้วิธีเมธอด GET ของ HTTP เพื่อดึงข้อมูล YouTube YouTube Data API ยังมีวิธีที่ใช้ HTTP POST เพื่อสร้างหรืออัปเดตแหล่งข้อมูล YouTube เช่น วิดีโอ เพลย์ลิสต์ หรือช่อง คำขอต่อไปนี้แสดงตัวอย่าง

วิธี POST จะมี Request body ซึ่งเป็นการแสดงแหล่งข้อมูลที่กำลังสร้างหรืออัปเดตในรูปแบบ JSON คุณสามารถสร้างการแสดง JSON ใน Google APIs Explorer ได้โดยใช้เครื่องมือแบบอินเทอร์แอกทีฟ

สร้างการสมัครใช้บริการ

คำขอนี้จะติดตามช่อง GoogleDevelopers ให้กับผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว กล่าวอีกนัยหนึ่งคือสร้างแหล่งข้อมูลการสมัครใช้บริการ

POST {base_URL}/subscriptions?part=snippet
Request body: {   'snippet': {     'resourceId': {       'kind': 'youtube#channel',       'channelId': 'UC_x5XG1OV2P6uZZ5FSM9Ttw'     }   } }

สร้างเพลย์ลิสต์

คำขอนี้จะสร้างเพลย์ลิสต์สาธารณะใหม่

POST {base_URL}/playlists?part=snippet
Request body: {   'snippet': {     'title': 'New playlist',     'description': 'Sample playlist for Data API',   } }

การเพิ่มวิดีโอในเพลย์ลิสต์

เมื่อสร้างเพลย์ลิสต์แล้ว เราจะเพิ่มวิดีโอลงในเพลย์ลิสต์ คำขอนี้จะเพิ่มวิดีโอที่จุดเริ่มต้นของเพลย์ลิสต์ ('position': 0)

POST {base_URL}/playlistItems?part=snippet
  Request body:
  {
    'snippet': {
      'playlistId': '{PLAYLIST_ID}', 
      'resourceId': {
          'kind': 'youtube#video',
          'videoId': '{VIDEO_ID}'
        }
     'position': 0
      }
   }