2016-08-05 79 views
0

我試圖獲取當前活動的頻道列表的直播流。我知道,有search/list方法,但它需要100個單位的api配額,並且只適用於每個請求一個通道。對於每天總配額​​爲1M api單位的大量頻道,頻繁更新流可用性是不可能的。Youtube API v3獲取頻道列表的活動流

那麼,有沒有其他的方式,我可以得到頻道或頻道列表的活動流,避免「沉重」的搜索方法?

回答

0

您可以直接使用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"); 
     } 
+1

我覺得這個API方法是情況下,當流被髮送帳戶擁有請求。就我而言,我只是試圖檢測我的某些「訂閱」是否正在流式傳輸新的實況視頻。 – SergeyK

相關問題