如果你检查你链接的页面 youtube.liveBroadcasts.list 你会注意到它说授权。
授权 此请求至少需要一个授权 以下范围(了解有关身份验证和 授权)。 https://www.googleapis.com/auth/youtube.readonly https://www.googleapis.com/auth/youtube
你不能使用公钥。您必须使用Oauth2进行身份验证才能访问 youtube.liveBroadcasts.list 。
你可以使用标准 Search/list 如果您知道该频道,则端点仅返回来自特定频道的直播事件,而不作为该频道/用户进行身份验证 channelId :
Search/list
channelId
part -> snippet
channelId - > [channelId of the channel/user with the live event]
[channelId of the channel/user with the live event]
eventType -> live
type -> video (设置时需要 eventType 至 live )
type -> video
eventType
live
HTTP GET https://www.googleapis.com/youtube/v3/search?part=snippet&channelId={channelId}&eventType=live&type=video&key={YOUR_API_KEY}
该特定的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}
不幸的是,在同一个API调用中无法获得已完成,活动和即将播出的广播,因此如果您需要全部3个广播,则必须进行3次调用。