是否有可能從某個頻道(不是我的)獲取所有視頻? 如果可能,我可以使用簡單的api密鑰還是應該使用OAuth 2.0憑據?獲取來自頻道的所有視頻 - Youtube API v3 c#
6
A
回答
10
我已經在這樣做的話,它的工作對我來說 我已經使用的Youtube API V3從的NuGet包管理
using Google.Apis.Services;
using Google.Apis.YouTube.v3;
public ActionResult GetVideo(YouTubeData objYouTubeData)
{
try
{
var yt = new YouTubeService(new BaseClientService.Initializer() { ApiKey = "Your API Key" });
var channelsListRequest = yt.Channels.List("contentDetails");
channelsListRequest.ForUsername = "kkrofficial";
var channelsListResponse = channelsListRequest.Execute();
foreach (var channel in channelsListResponse.Items)
{
// of videos uploaded to the authenticated user's channel.
var uploadsListId = channel.ContentDetails.RelatedPlaylists.Uploads;
var nextPageToken = "";
while (nextPageToken != null)
{
var playlistItemsListRequest = yt.PlaylistItems.List("snippet");
playlistItemsListRequest.PlaylistId = uploadsListId;
playlistItemsListRequest.MaxResults = 50;
playlistItemsListRequest.PageToken = nextPageToken;
// Retrieve the list of videos uploaded to the authenticated user's channel.
var playlistItemsListResponse = playlistItemsListRequest.Execute();
foreach (var playlistItem in playlistItemsListResponse.Items)
{
// Print information about each video.
//Console.WriteLine("Video Title= {0}, Video ID ={1}", playlistItem.Snippet.Title, playlistItem.Snippet.ResourceId.VideoId);
var qry = (from s in ObjEdbContext.ObjTubeDatas where s.Title == playlistItem.Snippet.Title select s).FirstOrDefault();
if (qry == null)
{
objYouTubeData.VideoId = "https://www.youtube.com/embed/" + playlistItem.Snippet.ResourceId.VideoId;
objYouTubeData.Title = playlistItem.Snippet.Title;
objYouTubeData.Descriptions = playlistItem.Snippet.Description;
objYouTubeData.ImageUrl = playlistItem.Snippet.Thumbnails.High.Url;
objYouTubeData.IsValid = true;
ObjEdbContext.ObjTubeDatas.Add(objYouTubeData);
ObjEdbContext.SaveChanges();
ModelState.Clear();
}
}
nextPageToken = playlistItemsListResponse.NextPageToken;
}
}
}
catch (Exception e)
{
ViewBag.ErrorMessage = "Some exception occured" + e;
return RedirectToAction("GetYouTube");
}
return RedirectToAction("GetYouTube");
}
在這一行
channelsListRequest.ForUsername = "kkrofficial"; //kkrofficial is kkr channel name.
按照此鏈接提供的頻道名稱 https://developers.google.com/youtube/v3/code_samples/dotnet#retrieve_my_uploads
3
你可以使用你的API密鑰,只是查詢所有頻道的視頻(即使不是你的:))
public Task<List<SearchResult>> GetVideosFromChannelAsync(string ytChannelId)
{
return Task.Run(() =>
{
List<SearchResult> res = new List<SearchResult>();
string nextpagetoken = " ";
while (nextpagetoken != null)
{
var searchListRequest = _youtubeService.Search.List("snippet");
searchListRequest.MaxResults = 50;
searchListRequest.ChannelId = ytChannelId;
searchListRequest.PageToken = nextpagetoken;
searchListRequest.Type = "video";
// Call the search.list method to retrieve results matching the specified query term.
var searchListResponse = searchListRequest.Execute();
// Process the video responses
res.AddRange(searchListResponse.Items);
nextpagetoken = searchListResponse.NextPageToken;
}
return res;
});
}
這個方法應該讓你的軌道上
相關問題
- 1. youtube api v3從頻道中獲取比視頻更新的所有視頻
- 2. YouTube API - 從其他YouTube頻道獲取所有視頻ID
- 3. Youtube API v3 - 來自特定頻道的相關視頻
- 4. 如何使用YouTube Data API v3獲取頻道中所有視頻的列表?
- 5. YouTube API:沒有獲得給定頻道的所有視頻
- 6. 使用YouTube API獲取某個頻道的所有視頻
- 7. 從YouTube自動生成的頻道獲取視頻api
- 8. Youtube API v3獲取視頻 - PHP
- 9. Youtube api v3 - 獲取chanel的所有視頻
- 10. 使用API的v3在Objective-C中檢索YouTube頻道上傳使用API的v3獲取YouTube頻道上傳
- 11. 獲取3來自YouTube頻道的最後一個視頻
- 12. Youtube Api獲取頻道上的所有視頻(不再可用)錯誤
- 13. python:獲取某個頻道的所有youtube視頻網址
- 14. YouTube API v3:喜歡沒有頻道設置的視頻
- 15. 從YouTube頻道獲取所有視頻ID
- 16. Youtube API獲取視頻?
- 17. 如何從Youtube頻道獲取所有視頻ID
- 18. YouTube API v3 - 上傳視頻
- 19. 如何使用API v3列出YouTube頻道的所有上傳視頻(URL)?
- 20. 獲取所有YouTube視頻(有些視頻丟失)
- 21. 獲取YouTube頻道視圖
- 22. 從YouTube的視頻與YouTube的API v3獲取標題
- 23. 從YouTube頻道獲取視頻列表
- 24. 如何爲youtube頻道的所有尺寸的youtube視頻獲取圖片?
- 25. 從YouTube視頻獲取視頻源
- 26. 通過youtube頻道獲取帶有所有上傳視頻的ID的XML
- 27. 通過Youtube API v3將視頻上傳到多個頻道
- 28. 使用Android Youtube ApI v3從YouTube獲取視頻ID
- 29. 使用Youtube V3 API和JavaScript獲取Youtube視頻網址
- 30. 如何從頻道(YouTube)檢索視頻的YouTube視頻ID
什麼ClientServiceRequest.cs?我應該有這個嗎? – Cieja
我已經創建了API,但在我的應用程序中收到錯誤消息:Access Not Configured。 API(YouTube數據API)未針對您的項目啓用。請使用Google Developers Console更新您的配置。 [403] – Cieja
ClientServiceRequest.cs不需要...只需從Nuget Packet Manager的Youtube API v3安裝該設置 –