我正试图使用API在我的客户站点上嵌入一个实时事件视频。我正在尝试检索使用youtube.liveBroadcasts.list的公开livestream视频列表。
它正在API资源管理器查询生成器上工作。
当我将请求复制到浏览器时,我将得到一个login required错误。
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}问题是:
发布于 2015-05-20 08:15:21
这个特定的API端点不仅返回公共流;它还可以返回私有流(除了关于公共流的私有信息)。因此,授权级别位于端点的前面,因此必须使用oAuth2对用户进行身份验证(因此用户授予显式权限以便能够访问该数据)。
如果您确定只需要有关广播的公共数据,则应该使用data的视频搜索列表端点。您可以将"channelId“参数设置为用户通道的id,将"type”参数设置为“视频”,然后将"eventType“参数设置为”已完成“、”活动“或”即将到来“。通过使用"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个电话。
发布于 2015-12-23 17:41:32
如果您知道该通道的Search/list,则可以使用标准的channelId端点只从特定通道返回活动事件,而无需作为该通道/用户进行身份验证。
part -> snippet
channelId -> [channelId of the channel/user with the live event]
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}发布于 2015-05-20 08:07:32
如果您检查链接了youtube.liveBroadcasts.list的页面,就会发现它是授权的。
授权 此请求要求至少具有以下一个范围的授权(请阅读有关身份验证和授权的更多信息)。 https://www.googleapis.com/auth/youtube.readonly https://www.googleapis.com/auth/youtube
你不能用这个公钥。必须使用Oauth2对您进行身份验证才能访问youtube.liveBroadcasts.list。
https://stackoverflow.com/questions/30343459
复制相似问题