获取youtube频道';s视频数据(isrc)
本文关键字:数据 视频 isrc youtube 频道 获取 | 更新日期: 2023-09-27 17:58:24
如何使用youtube或其他API从youtube频道(ISRC、Video_ISRC、Asset_ID、UPC)上的视频中获取完整信息。
private void btnSend_Click(object sender, EventArgs e)
{
string channelname = txtChannel.Text;
string developerKey = "AI39si4f9ZH80eTwUdmc3sd89kYTxEjWxWEXIPyW2hP8LIYEDJjoUrcl26jEbpzYJpaH3Bckk-4GVtfgEPQ9GkrDERRydwaobQ";
StreamWriter sw = new StreamWriter(@"d:'youtubechannelcontent.txt");
YouTubeRequestSettings settings = new YouTubeRequestSettings(channelname, developerKey);
YouTubeRequest _request = new YouTubeRequest(settings);
string _feedUrl = String.Format("http://gdata.youtube.com/feeds/api/users/{0}/uploads", channelname);
Feed<Video> _vediofeed = _request.Get<Video>(new Uri(_feedUrl));
int max = _vediofeed.TotalResults;
int index = 1;
MessageBox.Show(max.ToString());
YouTubeRequest request = new YouTubeRequest(settings);
while (index<max)
{
string feedUrl = String.Format("http://gdata.youtube.com/feeds/api/users/{0}/uploads?max-results=50&start-index={1}", channelname, index);
Feed<Video> videoFeed = request.Get<Video>(new Uri(feedUrl));
foreach (var item in videoFeed.Entries)
{
sw.WriteLine(item.Author + "," + item.CommmentCount + "," + item.ETag + "," + item.Id + "," +item.RatingAverage+ "," +item.Title+ "," +item.Updated+ "," +item.Uploader+ "," +item.VideoId+ "," +item.ViewCount+ "," +item.WatchPage);
//sw.WriteLine(item.Title+","+item.YouTubeEntry);
}
index += 50;
}
}
此代码没有获得视频的ISRC、Video_ISRC、Asset_ID和UPC。
为了简单起见,您可以像这样使用api v2:
const string channelName = "YourChannel";
var URL =string.Format("http://gdata.youtube.com/feeds/api/users/{0}/uploads",
channelName);
using (var reader = new XmlTextReader(URL))
{
while (reader.Read())
{
if (reader.Name.Equals("media:player"))
{
string attribute = reader["url"];
if (attribute != null)
{
Response.Write("Youtube Video Link" + attribute + "<br />");
}
}
}
}
使用v3
可以实现类似的效果,但这将需要更多的工作