YouTube API直播

Yul*_*uli 2 google-api youtube-api google-authentication google-oauth youtube-livestreaming-api

我正在尝试使用API​​在我的客户网站上嵌入直播活动视频.我正在尝试使用youtube.liveBroadcasts.list检索公共直播视频列表.

它正在使用API Explorer查询构建器.

当我将请求复制到浏览器时,我收到login required错误.

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "required",
    "message": "Login Required",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Login Required"
 }
}
Run Code Online (Sandbox Code Playgroud)

问题是:

  1. 如果我要求公开直播,为什么需要进行身份验证?API密钥不够用?
  2. 有没有其他方法来获取所有用户的公共直播活动?

jlm*_*ald 5

该特定的API端点不仅仅返回公共流; 它也可以返回私有(除了有关公共流的私人信息).因此,授权级别位于端点前面,因此您必须使用oAuth2对用户进行身份验证(因此用户授予您显式权限以便您能够访问该数据).

如果您确定只需要有关广播的公共数据,则应使用Data API的视频搜索列表端点.您可以将"channelId"参数设置为用户频道的ID,将"type"参数设置为"video",然后将"eventType"参数设置为"completed","live"或"coming".通过使用"eventType"参数,您的搜索仅限于广播事件.因此,例如,您可以调用这样的URL:

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

不幸的是,在同一个API调用中无法获得已完成,活动和即将播出的广播,因此如果您需要全部3个广播,则必须进行3次调用.