Youtube api Youtube api v3获取频道的活动流列表
我正在尝试获取频道列表中当前活动的实时流。我知道,有一种方法,但它需要100个api配额单位,并且每个请求只适用于一个通道。对于每天总配额为1M api单元的大量通道,不可能频繁更新流可用性 那么,有没有其他方法,我可以为频道或频道列表获取活动流,避免“繁重”的搜索方法?您可以直接使用,LiveStreams:list返回与API请求参数匹配的视频流列表 HTTP请求:Youtube api Youtube api v3获取频道的活动流列表,youtube-api,youtube-data-api,Youtube Api,Youtube Data Api,我正在尝试获取频道列表中当前活动的实时流。我知道,有一种方法,但它需要100个api配额单位,并且每个请求只适用于一个通道。对于每天总配额为1M api单元的大量通道,不可能频繁更新流可用性 那么,有没有其他方法,我可以为频道或频道列表获取活动流,避免“繁重”的搜索方法?您可以直接使用,LiveStreams:list返回与API请求参数匹配的视频流列表 HTTP请求: GET https://www.googleapis.com/youtube/v3/liveStreams 请注意,在每个请
GET https://www.googleapis.com/youtube/v3/liveStreams
请注意,在每个请求中,都需要授权访问以验证用户数据。你需要实施
IncludeonBehalfOfContentOwner
参数,此参数适用于拥有和管理许多不同YouTube频道的YouTube内容合作伙伴。它允许内容所有者进行一次身份验证并访问其所有视频和频道数据,而无需为每个频道提供身份验证凭据
HTTP响应:
{
"kind": "youtube#liveStreamListResponse",
"etag": etag,
"nextPageToken": string,
"prevPageToken": string,
"pageInfo": {
"totalResults": integer,
"resultsPerPage": integer
},
"items": [
liveStream Resource
]
}
以下是如何请求liveStream资源的示例代码片段:
// 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");
}
//此对象用于发出YouTube数据API请求。
youtube=new youtube.Builder(Auth.HTTP_传输、Auth.JSON_工厂、凭证)
.setApplicationName(“youtube cmdline liststreams示例”)
.build();
//创建列出liveStream资源的请求。
YouTube.LiveStreams.List livestreamRequest=YouTube.LiveStreams().List(“id,snippet”);
//修改结果以仅返回用户的流。
livestreamRequest.setMine(true);
//执行API请求并返回流列表。
LiveStreamListResponse返回的ListResponse=livestreamRequest.execute();
List returnedList=returnedListResponse.getItems();
//打印API响应中的信息。
System.out.println(“\n==========================================================\n”);
for(LiveStream: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方法适用于发送请求的帐户拥有流的情况。在我的例子中,我只是试图检测我的一些“订阅”何时正在流式传输新的实时视频。