0
我试图获取当前活动的频道列表的直播流。我知道,有search/list方法,但它需要100个单位的api配额,并且只适用于每个请求一个通道。对于每天总配额为1M api单位的大量频道,频繁更新流可用性是不可能的。Youtube API v3获取频道列表的活动流
那么,有没有其他的方式,我可以得到频道或频道列表的活动流,避免“沉重”的搜索方法?
我试图获取当前活动的频道列表的直播流。我知道,有search/list方法,但它需要100个单位的api配额,并且只适用于每个请求一个通道。对于每天总配额为1M api单位的大量频道,频繁更新流可用性是不可能的。Youtube API v3获取频道列表的活动流
那么,有没有其他的方式,我可以得到频道或频道列表的活动流,避免“沉重”的搜索方法?
您可以直接使用Live Streaming API - LiveStreams:list
,LiveStreams:list返回与API请求参数相匹配的视频流列表。
HTTP请求:
GET https://www.googleapis.com/youtube/v3/liveStreams
注意,在每个请求需要授权访问provate用户数据。您需要实施OAuth 2.0。
包括onBehalfOfContentOwner
参数,此参数适用于拥有和管理许多不同YouTube频道的YouTube内容合作伙伴。它允许内容所有者进行一次认证并访问所有视频和频道数据,而无需为每个频道提供认证凭证。
HTTP响应:
{
"kind": "youtube#liveStreamListResponse",
"etag": etag,
"nextPageToken": string,
"prevPageToken": string,
"pageInfo": {
"totalResults": integer,
"resultsPerPage": integer
},
"items": [
liveStream Resource
]
}
下面是一个示例代码段如何请求直播视频资源:
// This object is used to make YouTube Data API requests.
youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, credential)
.setApplicationName("youtube-cmdline-liststreams-sample")
.build();
// Create a request to list liveStream resources.
YouTube.LiveStreams.List livestreamRequest = youtube.liveStreams().list("id,snippet");
// Modify results to only return the user's streams.
livestreamRequest.setMine(true);
// Execute the API request and return the list of streams.
LiveStreamListResponse returnedListResponse = livestreamRequest.execute();
List<LiveStream> returnedList = returnedListResponse.getItems();
// Print information from the API response.
System.out.println("\n================== Returned Streams ==================\n");
for (LiveStream stream : returnedList) {
System.out.println(" - Id: " + stream.getId());
System.out.println(" - Title: " + stream.getSnippet().getTitle());
System.out.println(" - Description: " + stream.getSnippet().getDescription());
System.out.println(" - Published At: " + stream.getSnippet().getPublishedAt());
System.out.println("\n-------------------------------------------------------------\n");
}
我觉得这个API方法是情况下,当流被发送帐户拥有请求。就我而言,我只是试图检测我的某些“订阅”是否正在流式传输新的实况视频。 – SergeyK