public async Task <NewsModel> GetNews() { string apiKey = options.Value.NewsApiKey; INewsClient newsClient = new ClientBuilder() { ApiKey = apiKey }.Build(); INewsArticles newsArticles = await newsClient.GetTopHeadlines(new TopHeadlinesBuilder().WithSourcesQuery(Source.BBC_NEWS).Build()); List <HeadlineModel> headlinesList = new List <HeadlineModel>(); for (int i = 0; i < 3; i++) { var headline = new HeadlineModel() { Id = i + 1, NewsTitle = newsArticles[i].Title, NewsDescription = newsArticles[i].Description }; headlinesList.Add(headline); } NewsModel news = new NewsModel() { Headlines = headlinesList }; return(news); }
public async Task <ObservableCollection <NewsArticles> > GetNews(string searchQuery) { results = $"{0}"; var News = new ObservableCollection <NewsArticles>(); //HassieNewsAPI INewsClient client = new ClientBuilder() { ApiKey = "42b3db2e64f3417b9a0f05c631e544e3" }.Build(); try { INewsArticles newsArticlesResponse = await client.GetTopHeadlines(new TopHeadlinesBuilder() // .WithCountryQuery(Country.US) //.WithLanguageQuery(Language.EN) .WithSourcesQuery(Hassie.NET.API.NewsAPI.API.v2.Source.ABC_NEWS) .Build()); //NewsAPI //var client = new NewsApiClient("42b3db2e64f3417b9a0f05c631e544e3"); //var newsArticlesResponse = client.GetEverything(new EverythingRequest { // Q = searchQuery, // SortBy = SortBys.Popularity, // Language = Languages.EN, // From = new DateTime(2018, 1, 25) //}); //if (newsArticlesResponse.Status == Statuses.Ok) //{ // // total results found results = $"{newsArticlesResponse.Count}"; // // here's the first 20 // foreach (var article in newsArticlesResponse.Articles) // { // News.Add(new NewsArticles(article.Title??"No Result", article.Author ?? "No Result", article.Description ?? "No Result", article.Url ?? "No Result", article.UrlToImage ?? "No Result", article.PublishedAt ?? null)); // } //} foreach (var article in newsArticlesResponse) { News.Add(new NewsArticles(article.Title ?? "No Result", article.Author ?? "No Result", article.Description ?? "No Result", article.URL ?? "No Result", article.ImageURL ?? "No Result", article.PublishTime, article.SourceName ?? "No Result")); } } catch (Exception ex) { Console.Write($"Error {ex.Message}"); } return(News); }
public async Task InitializeAsync() { // API key for NewsAPI INewsClient newsClient = new ClientBuilder() { ApiKey = "5fe4eb7f64af4875a48ab4ea5e50e875" }.Build(); //News Query sent to NewsAPI // REturns top 20 articles relating to bitcoin INewsArticles newsArticles = await newsClient.GetEverything(new EverythingBuilder() .WithSearchQuery("bitcoin") .WithSearchQuery("cryptocurrency") .WithSortOrder(SortOrder.PUBLISHED_AT) .WithLanguageQuery(Hassie.NET.API.NewsAPI.API.v2.Language.EN) .Build()); // The top 20 results foreach (INewsArticle article in newsArticles) { //Error handling : make sure there is an image to display if ((article.ImageURL != "") && (article.ImageURL != null)) { // Uri uriImage = new Uri(article.ImageURL); this.newsItems.Add(new NewsItem() { Title = article.Title, Subtitle = article.SourceName, Description = article.Description, ImageURL = article.ImageURL, URL = article.URL, // create bitimap image from the url from response ThumbImage = new Image { Source = new BitmapImage(new Uri(article.ImageURL, UriKind.Absolute)) } }); } } }