Youtube api Youtube api v3获取频道的活动流列表

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 请注意,在每个请

我正在尝试获取频道列表中当前活动的实时流。我知道,有一种方法,但它需要100个api配额单位,并且每个请求只适用于一个通道。对于每天总配额为1M api单元的大量通道,不可能频繁更新流可用性

那么,有没有其他方法,我可以为频道或频道列表获取活动流,避免“繁重”的搜索方法?

您可以直接使用,LiveStreams:list返回与API请求参数匹配的视频流列表

HTTP请求:

GET https://www.googleapis.com/youtube/v3/liveStreams
请注意,在每个请求中,都需要授权访问以验证用户数据。你需要实施

Include
onBehalfOfContentOwner
参数,此参数适用于拥有和管理许多不同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方法适用于发送请求的帐户拥有流的情况。在我的例子中,我只是试图检测我的一些“订阅”何时正在流式传输新的实时视频。