1

我正嘗試使用API​​在我的客戶網站上嵌入現場活動視頻。我正在嘗試使用youtube.liveBroadcasts.list檢索公共直播視頻列表。YouTube API直播

它正在編寫API Explorer query builder

當我將請求複製到瀏覽器時,我得到一個login required錯誤。

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "required", 
    "message": "Login Required", 
    "locationType": "header", 
    "location": "Authorization" 
    } 
    ], 
    "code": 401, 
    "message": "Login Required" 
} 
} 

的問題是:

  1. 爲什麼我需要驗證,如果我請求公衆實況轉播? API密鑰不夠用?
  2. 是否有其他方式獲取所有用戶的公共直播活動?

回答

4

該特定的API端點不只是返回公共流;它也可以返回私人信息(除了公共信息流的私人信息)。因此,授權級別位於端點之前,因此您必須使用oAuth2對用戶進行身份驗證(因此用戶授予您明確權限才能訪問該數據)。

如果您確定只需要有關廣播的公共數據,則應該使用Data API的視頻search list端點。您可以將「channelId」參數設置爲用戶頻道的ID,將「type」參數設置爲「video」,然後將「eventType」參數設置爲「已完成」,「現場」或「即將到來」。通過使用「eventType」參數,您可以將搜索限制爲僅廣播事件。因此,舉例來說,你可以這樣調用一個URL:在相同的API調用

GET https://www.googleapis.com/youtube/v3/search?eventType=live&part=snippet&channelId=UCoMdktPbSTixAyNGwb-UYkQ&type=video&key={YOUR_API_KEY} 

不幸的是,有沒有辦法得到完成,活動和即將到來的廣播,所以如果你需要所有的3你必須打3個電話。

+0

感謝(設置eventTypelive需要時),這對我來說不夠好! – Yuli

0

您可以使用標準的Search/list端點從一個特定的通道只返回現場活動,而不被證實爲信道/用戶,如果你知道該通道的channelId

part -> snippet

channelId - >[channelId of the channel/user with the live event]

eventType -> live

type -> video

HTTP GET https://www.googleapis.com/youtube/v3/search?part=snippet&channelId={channelId}&eventType=live&type=video&key={YOUR_API_KEY}