Como fazer o carregamento de FEEDS youtube apis v3 na windows store em c#
-
21-12-2019 - |
Pergunta
para mostrar um feed de notícias, música, esportes.obrigado.
private void loadfeedYoutube()
{
string feedUrl="https://gdata.youtube.com/feeds/api/standardfeeds/most_popular";
var request=new
Feed<Video> videoFeed = request.Get<Video>(new Uri(feedUrl));
printVideoFeed(videoFeed);
static void printVideoFeed(Feed<Video> feed)
{
foreach (Video entry in feed.Entries)
{
printVideoEntry(entry);
}
}
}
Eu estou usando:
using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using Google.Apis.Upload;
using Google.Apis.Util.Store;
using Google.Apis.YouTube.v3;
using Google.Apis.YouTube.v3.Data;
Erro:não encontrando Alimentação, pedido...
Solução
Há usando myToolkit
private void GetYoutubeChannel(string feedXML)
{
try
{
SyndicationFeed feed = new SyndicationFeed();
feed.Load(feedXML);
List<YoutubeVideo> videosList = new List<YoutubeVideo>();
YoutubeVideo video;
foreach (SyndicationItem item in feed.Items)
{
video = new YoutubeVideo();
video.YoutubeLink = item.Links[0].Uri;
string a = video.YoutubeLink.ToString().Remove(0, 31);
video.Id = a.Substring(0, 11);
video.Title = item.Title.Text;
video.PubDate = item.PublishedDate.DateTime;
video.Thumbnail = YouTube.GetThumbnailUri(video.Id, YouTubeThumbnailSize.Large);
videosList.Add(video);
}
MainListBox.ItemsSource = videosList;
}
catch { }
}
Outras dicas
Lê Phúc Hoàng
Você pode tentar usar SyndicationFeed para ajudar você,
verifique o exemplo, que utilizando Mytoolkit projecto a implementar.
http://code.msdn.microsoft.com/windowsapps/Youtube-Sample-Get-Youtube-e9a3e0be
e você usando feedUrl método é uma api antiga que é v2 não v3.
@Lê Phúc Hoàng
usando http://gdata.youtube.com/demo/index.html para gerar você deseja obter.
se você deseja obter música popular, em seguida, sua Api RESTFul link é:http://gdata.youtube.com/feeds/api/standardfeeds/most_viewed/-/{http://gdata.youtube.com/schemas/2007/categories.cat}Music?alt=rss
Mas eu recomendo que se você pode, usando a API do Youtube Version3, é melhor e mais fácil de ser diferente categoria de vídeo.
void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
try
{
DataModel.YoutubeVideo value = e.NavigationParameter as DataModel.YoutubeVideo;
if(!string.IsNullOrWhiteSpace(value.id))
{
txttitle.Text = value.title;
Mediaplayer.Source = value.youtubelink;
}
}
catch
{
throw new NotImplementedException();
}
}
Eu recebo esta fonte :http://www.youtube.com/watch?v=_OBlgSz8sSM&feature=youtube_gdata
Mas ele não está jogando...