public static void Main(string[] args) { string usuarioSQL = ConfigurationSettings.AppSettings["usuarioSQL"]; string servidorSQL = ConfigurationSettings.AppSettings["servidorSQL"]; string passwordSQL = ConfigurationSettings.AppSettings["passwordSQL"]; string bd = ConfigurationSettings.AppSettings["bdSQL"]; string cnnStr = "Data Source=" + servidorSQL + ";Initial Catalog=" + bd + ";User ID=" + usuarioSQL + ";Password="******""; SqlConnection cnn = new SqlConnection(cnnStr); cnn.Open(); // init with your API key var newsApiClient = new NewsApiClient("a55ecdd5ddd34f279b3b9e1ffd1eefa9"); var articlesResponse = newsApiClient.GetEverything(new EverythingRequest { Q = "La casa de papel", SortBy = SortBys.Popularity, Language = Languages.ES, From = new DateTime(2018, 6, 13), PageSize = 100 }); //var articulos = newsApiClient.GetTopHeadlines(new EverythingRequest {Page="www"}) string queryDelete = "delete from noticias"; SqlCommand command2 = new SqlCommand(queryDelete, cnn); command2.ExecuteNonQuery(); if (articlesResponse.Status == Statuses.Ok) { // total results found Console.WriteLine(articlesResponse.TotalResults); // here's the first 20 foreach (var article in articlesResponse.Articles) { // title Console.WriteLine(article.Title); // author Console.WriteLine(article.Author); // description Console.WriteLine(article.Description); // url Console.WriteLine(article.Url); // image Console.WriteLine(article.UrlToImage); // published at Console.WriteLine(article.PublishedAt); Console.WriteLine(article.Source.Id); Console.WriteLine(article.Source.Name); string queryControl = "insert into NOTICIAS(TITULO,AUTOR,DESCRIPCION,URL,URLTOIMAGE,PUBLICADO,FUENTE_ID,FUENTE_NOMBRE) values('" + article.Title.Replace("'", "") + ")','" + article.Author + "','" + article.Description + "','" + article.Url + "','" + article.UrlToImage + "','" + article.PublishedAt + "','" + article.Source.Id + "','" + article.Source.Name + "')"; SqlCommand command = new SqlCommand(queryControl, cnn); command.ExecuteNonQuery(); } } cnn.Close(); Console.ReadLine(); }
public async Task FetchNews(string query) { var apikey = _config["newskey"].ToString(); var newsApiClient = new NewsApiClient($"{apikey}"); var articlesResponse = newsApiClient.GetTopHeadlines(new TopHeadlinesRequest { Q = query, Language = Languages.EN, PageSize = 4 }); if (articlesResponse.Status == Statuses.Ok) { await Context.Channel.SendMessageAsync($"Results Found: {articlesResponse.TotalResults}"); EconomyHelper.DepositEconomy(Context.User.Id, Context.User.Discriminator, Context.User.Username, 7, _config["brobotapibaseurl"]); // total results found Console.WriteLine(articlesResponse.TotalResults); // here's the first 20 foreach (var article in articlesResponse.Articles) { var builder = new EmbedBuilder() .WithTitle($"{article.Title}.") .WithUrl($"{article.Url}") .WithDescription($"{article.Description}.") .AddField("Author", $"{article.Author}.") .WithImageUrl($"{article.Url}.") .WithFooter($"{article.PublishedAt}.") .WithColor(11, 3, 252); var embed = builder.Build(); await Context.Channel.SendMessageAsync(null, false, embed); } } }
public bool ValidateNewsAPI() { /* * Fetches NewsAPI credentials to create new client */ Console.WriteLine("Validating News API"); label1.Text = label1.Text + "\nValidating News API"; string API_key = ""; string path = FindCredentials(); label1.Text += "\nAPI key path: " + path; if (File.Exists(path)) { API_key = File.ReadLines(path).Skip(0).Take(1).First(); label1.Text = label1.Text + "\nAPI Key aquired"; } else { label1.Text = label1.Text + "\nERROR: No news credentials found"; return(false); } APIn = new NewsApiClient(API_key); label1.Text = label1.Text + "\nAPI client created"; return(true); //return API; }
public List <Article> GetNewsFeed() { var apiKey = ConfigurationManager.AppSettings["newsAPIKey"]; var newsApiClient = new NewsApiClient(apiKey); try { _logger.LogInformation("Getting news feed from api"); var articlesResponse = newsApiClient.GetTopHeadlines(new TopHeadlinesRequest { PageSize = 10, Q = "Technology", Language = Languages.EN, }); if (articlesResponse.Status == Statuses.Ok) { _logger.LogInformation("Status Ok, returning model"); return(articlesResponse.Articles); } else { throw new Exception(); } } catch (Exception ex) { _logger.LogError($"Error getting news feed {ex.Message}"); throw ex.InnerException; } }
public async Task <ActionResult> Index3() { // init with your API keyGetEverythingAsync var newsApiClient = new NewsApiClient("acffc7a435f24838a883e692c0fa44dc"); var articlesResponse = newsApiClient.GetEverythingAsync(new EverythingRequest { // Q = "Apple", SortBy = SortBys.PublishedAt, Language = Languages.TR, From = new DateTime(2021, 4, 19) }).GetAwaiter().GetResult(); List <News> mynews = new List <News>(); foreach (var article in articlesResponse.Articles) { News news = new News(); news.Author = article.Author; news.Content = article.Content; news.Title = article.Title; news.Url = article.Url; news.UrlToImage = article.UrlToImage; news.PublishedAt = article.PublishedAt; mynews.Add(news); } return(await Task.Run(() => View(mynews))); }
public ArticlesResult News(string country, string sources, string category) { var newsApiClient = new NewsApiClient("4f9333875c98436787fa163b2604664a"); var query = new TopHeadlinesRequest(); if (!string.IsNullOrEmpty(country)) { query.Country = Enum.Parse <NewsAPI.Constants.Countries>(country.ToUpper()); } if (!string.IsNullOrEmpty(sources)) { query.Sources = new List <string> { sources }; } if (!string.IsNullOrEmpty(category)) { query.Category = Enum.Parse <NewsAPI.Constants.Categories>( new CultureInfo("en-US", false).TextInfo.ToTitleCase(category)); } return(newsApiClient.GetTopHeadlines(query)); }
public List <NewsModel> GetListNews(string keyphrase, DateTime fromDate) { var newsApiClient = new NewsApiClient("c3eb90f31b2946d29c9ffca8cd9c2626"); var articlesResponse = newsApiClient.GetEverything(new EverythingRequest { Q = keyphrase, SortBy = SortBys.Popularity, Language = Languages.EN, From = fromDate }); var list = new List <NewsModel>(); for (var i = 0; i < 8; i++) { var news = new NewsModel() { Title = articlesResponse.Articles[i].Title, Url = articlesResponse.Articles[i].Url, From = articlesResponse.Articles[i].Source.Name }; list.Add(news); } return(list); }
public void VerifyNewsStories() { NewsApiClient client = new NewsApiClient(true, DateTime.Now.AddDays(-1)); client.RequestLatestNews(); Assert.NotEqual(0, client.StoryCount); }
public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); // init with your API key var newsApiClient = new NewsApiClient("5a6f078ea39446cda5b9698ccd4e26be"); var articlesResponse = newsApiClient.GetEverything(new EverythingRequest { Q = "Apple", SortBy = SortBys.Popularity, Language = Languages.EN, From = new DateTime(2018, 1, 25) }); if (articlesResponse.Status == Statuses.Ok) { // total results found Console.WriteLine(articlesResponse.TotalResults); // here's the first 20 foreach (var article in articlesResponse.Articles) { // title Console.WriteLine(article.Title); // author Console.WriteLine(article.Author); // description Console.WriteLine(article.Description); // url Console.WriteLine(article.Url); // published at Console.WriteLine(article.PublishedAt); } } Console.ReadLine(); }
public NewsAPITests() { // set this var apiKey = Environment.GetEnvironmentVariable("NewsAPIKey"); NewsApiClient = new NewsApiClient(apiKey); }
public ActionResult <IEnumerable <News> > Get(string search) { var newsApiKey = "baa2e97368c5442aba7a2d47c77e3258"; var list = new List <News>(); var newsApiClient = new NewsApiClient(newsApiKey); var articlesResponse = newsApiClient.GetEverything(new EverythingRequest { Q = search, SortBy = SortBys.Popularity, Language = Languages.PL, From = new DateTime(2019, 6, 15), }); var tmp = new List <Article>(); tmp = articlesResponse.Articles; foreach (var item in tmp) { var name = new string(item.Title); var desp = new string(item.Description); var url = new string(item.Url); list.Add(new News(name, desp, url)); } return(list); }
public NewsUI() { InitializeComponent(); news = new NewsApiClient(ApiKey); GetNews("General News"); LoadIcon(); }
public async Task <ActionResult <FeedListingModel> > Get() { var feedList = new FeedListingModel(); // init with your API key var newsApiClient = new NewsApiClient("de67b2237afe4fb1b77bfbe773987fca"); var articlesResponse = newsApiClient.GetEverything(new EverythingRequest { Q = "Trump", SortBy = SortBys.Popularity, Language = Languages.EN, From = new DateTime(2020, 01, 01) }); if (articlesResponse.Status == Statuses.Ok) { foreach (var article in articlesResponse.Articles) { feedList.TotalResults = articlesResponse.TotalResults; feedList.Author = article.Author; feedList.Description = article.Description; feedList.PublishedAt = Convert.ToDateTime(article.PublishedAt); feedList.Title = article.Title; feedList.Url = article.Url; feedList.UrlToImage = article.UrlToImage; } } return(feedList); }
public void Init() { // set this var apiKey = Environment.GetEnvironmentVariable("news_key"); NewsApiClient = new NewsApiClient(apiKey); }
public void getNews() { // init with your API key var newsApiClient = new NewsApiClient("81e27dad45464fc3a21aa17d61f3e3b1"); var articlesResponse = newsApiClient.GetEverything(new EverythingRequest { Q = "Apple", SortBy = SortBys.Popularity, Language = Languages.EN, From = new DateTime(2018, 1, 25) }); if (articlesResponse.Status == Statuses.Ok) { // total results found Console.WriteLine(articlesResponse.TotalResults); // here's the first 20 foreach (var article in articlesResponse.Articles) { // title Console.WriteLine(article.Title); // author Console.WriteLine(article.Author); // description Console.WriteLine(article.Description); // url Console.WriteLine(article.Url); // image Console.WriteLine(article.UrlToImage); // published at Console.WriteLine(article.PublishedAt); } } Console.ReadLine(); }
public IActionResult GetNewsApi(string SearchTerm) { var newsApiClient = new NewsApiClient(NewsApiKey); var articlesResponse = newsApiClient.GetEverything(new EverythingRequest { Q = SearchTerm, SortBy = SortBys.Popularity, Language = Languages.EN, From = new DateTime(2019, 10, 5) }); if (articlesResponse.Status == Statuses.Ok) { // total results found Console.WriteLine(articlesResponse.TotalResults); // here's the first 20 foreach (var article in articlesResponse.Articles) { // title Console.WriteLine(article.Title); // author Console.WriteLine(article.Author); // description Console.WriteLine(article.Description); // url Console.WriteLine(article.Url); // image Console.WriteLine(article.UrlToImage); // published at Console.WriteLine(article.PublishedAt); } } return(Ok(articlesResponse)); }
async Task DownloadAllCountriesTopHeadlines() { var client = NewsApiClient.FromResource(); var countries = (NewsApiCountry[])Enum.GetValues(typeof(NewsApiCountry)); foreach (var country in countries) { var response = await client.GetTopHeadlines(new NewsApiTopHeadlinesRequest { Language = NewsApiLanguage.EN, Country = country, Page = 0, PageSize = 10, }); if (CatchError(response)) { return; } var articles = response.Articles; var io = new NewsApiOfflineCopyWriter(_fileName); io.WriteArticles(country.ToString(), articles); Debug.Log($"Finished downloading {country}"); } Debug.Log("Finished downloading"); }
public void GetNews(object sender = null, ElapsedEventArgs e = null) { List <NewsAPI.Models.Article> newNews = new List <NewsAPI.Models.Article>(); try { var newsApiClient = new NewsApiClient(apiKey); var articlesResponse = newsApiClient.GetEverything(new EverythingRequest { Q = "all", SortBy = SortBys.PublishedAt, Language = Languages.RU, From = DateTime.Now - TimeSpan.FromDays(1) }); if (articlesResponse.Status == Statuses.Ok) { DateTime latestArticle = DateTime.MinValue; if (Articles.Count > 0 && Articles[0].PublishedAt.HasValue) { latestArticle = Articles[0].PublishedAt.Value; } foreach (var article in articlesResponse.Articles) { if (article.PublishedAt.HasValue && article.PublishedAt.Value > latestArticle) { Articles.Add(article); newNews.Add(article); } } } else { Console.WriteLine(articlesResponse.Error.Message); } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { foreach (var art in newNews) { /*Console.WriteLine(art.Title); * Console.WriteLine(article.Author); * Console.WriteLine(article.Description); * Console.WriteLine(article.Url); * Console.WriteLine(article.UrlToImage); * Console.WriteLine(article.PublishedAt);*/ NewsReceived(new MessageSendServe.Article(art.Title, art.Description, art.PublishedAt.ToString())); } } }
public ArticlesResult News() { var newsApiClient = new NewsApiClient("4f9333875c98436787fa163b2604664a"); var topNews = new TopHeadlinesRequest { Country = NewsAPI.Constants.Countries.CA }; return(newsApiClient.GetTopHeadlines(topNews)); }
public static List <MultiLanguageInput> GetNewsNewsApi(ref string news, string q) { // init with your API key var newsApiClient = new NewsApiClient("288e5576cf624fec9fed057fc290fb29"); var articlesResponse = newsApiClient.GetEverything(new EverythingRequest { Q = q, SortBy = SortBys.Popularity, Language = Languages.EN, From = DateTime.Today.AddDays(0) }); List <MultiLanguageInput> result = new List <MultiLanguageInput>(); news = "<table><tr><td>ID</td><td>News Title</td><td>News URL</td></tr>"; string[] strToReplace = new string[] { "USD/JPY", "USD-JPY" }; if (articlesResponse.Status == Statuses.Ok) { // total results found Console.WriteLine(articlesResponse.TotalResults); int i = 0; // here's the first 20 foreach (var article in articlesResponse.Articles) { // title Console.WriteLine(article.Title); news += "<tr>"; // author Console.WriteLine(article.Author); // description Console.WriteLine(article.Description); // url Console.WriteLine(article.Url); // image Console.WriteLine(article.UrlToImage); // published at Console.WriteLine(article.PublishedAt); string articleStr = ""; foreach (string str in strToReplace) { articleStr = CleanUpTitle(article.Description, str, q); } result.Add(new MultiLanguageInput("en", i.ToString(), articleStr)); news += "<td>" + (i + 1) + "</td>"; news += "<td>" + article.Title + "</td>"; news += "<td>" + article.Url + "</td>"; news += "</tr>"; i++; } news += "</table>"; } return(result); }
public List <INewsItem> GetLatestNews() { var client = NewsApiClient.GetClient(); var response = client.GetAsync("/v2/top-headlines?sources=techcrunch&apiKey=1ed506b2d88f4400a191fd29778cbbce").Result; var result = response.Content.ReadAsAsync <ArticleList>().Result; return(result.articles.Select(a => ArticlesResulttoNewsItemConverter.Convert(a)).ToList()); }
public NewsService(IUserSettingsService _userSettingsService) { userSettingsService = _userSettingsService; // this HttpCLient is used to get all the available sources client.BaseAddress = new Uri("https://newsapi.org/v2/"); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); //move key to config later newsApi = new NewsApiClient("a96df9dbc6624717932b21dabce240d5"); }
async UniTask DoGetSources() { var client = NewsApiClient.FromResource(); client.LogJsonResponses = true; var result = await client.GetSources(); Assert.AreNotEqual(NewsApiStatus.Unknown, result.Status, "status not read properly"); Assert.AreNotEqual(NewsApiStatus.Error, result.Status, $"Error code: {result.Code}, Message: {result.Message}"); Assert.IsNotNull(result.Sources, "null source list"); Assert.Greater(result.Sources.Count(), 0, "no sources"); }
public ActionResult Index(NewsFeed news) { var mvcName = typeof(Controller).Assembly.GetName(); var isMono = Type.GetType("Mono.Runtime") != null; ViewData["Version"] = mvcName.Version.Major + "." + mvcName.Version.Minor; ViewData["Runtime"] = isMono ? "Mono" : ".NET"; var newsApiClient = new NewsApiClient("cb0c01ef96964a42a903295d3fce7aa0"); var articlesResponse = newsApiClient.GetEverything(new EverythingRequest { Q = "Google", SortBy = SortBys.Popularity, Language = Languages.EN, From = new DateTime(2018, 1, 25) }); IList <NewsFeed> articleList = new List <NewsFeed>(); if (articlesResponse.Status == Statuses.Ok) { // total results found Console.WriteLine(articlesResponse.TotalResults); } // here's the first 20 foreach (var article in articlesResponse.Articles) { NewsFeed LatestNews = new NewsFeed(); { // title LatestNews.Title = article.Title; // author LatestNews.Author = article.Author; // description LatestNews.Description = article.Description; // url LatestNews.Url = article.Url; // image LatestNews.UrlToImage = article.UrlToImage; // published at LatestNews.PublishedAt = article.PublishedAt; }; articleList.Add(LatestNews); var list = new List <NewsFeed>(articleList); news.NewsList = list; } return(View(news)); }
private static async Task <ArticlesResult> getNewsBySource(Module module) { NewsApiClient newsApiClient = new NewsApiClient(Api.ApiKeys[ApiEnum.NEWSAPI]); ArticlesResult topheadlines = await newsApiClient.GetTopHeadlinesAsync(new TopHeadlinesRequest { Language = module.NewsLanguage, Sources = module.NewsSources }); return(topheadlines); }
private static async Task <ArticlesResult> getNewsByCategory(Module module) { NewsApiClient newsApiClient = new NewsApiClient(Api.ApiKeys[ApiEnum.NEWSAPI]); ArticlesResult topheadlines = await newsApiClient.GetTopHeadlinesAsync(new TopHeadlinesRequest { Category = module.NewsCategory, Country = module.NewsCountry, Language = module.NewsLanguage }); return(topheadlines); }
public override Task <bool> Start() { if (Config.ApiKey == "change_me") { ThrowComponentNeedConfiguration("ApiKey"); } _newsApiClient = new NewsApiClient(Config.ApiKey); Enum.TryParse(Config.Language.ToUpper(), out _newsLanguage); return(base.Start()); }
static async Task Main() { IConfiguration config = new ConfigurationBuilder() .AddJsonFile("appsettings.json", true, true) .Build(); var connectionString = config.GetConnectionString("EventHub"); var eventHubName = config["EventHubName"]; var state = await GetInitialState(config); var newsApiKey = config["NewsApiKey"]; var delay = Convert.ToInt32(config["Delay"]) * 1000; newsApiClient = new NewsApiClient(newsApiKey); await using (var producerClient = new EventHubProducerClient(connectionString, eventHubName)) { var news = new List <ArticleModel>(); var rng = new Random(); while (true) { var eventBatch = await producerClient.CreateBatchAsync(); var newNews = await GetNews(state); if (newNews.Any()) { news.AddRange(newNews); } if (news.Any()) { var count = rng.Next(1, Math.Min(5, news.Count)); var toBeSent = news.Take(count).ToList(); toBeSent.ForEach(news => { eventBatch.TryAdd(new EventData(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(news)))); }); await producerClient.SendAsync(eventBatch); Console.WriteLine($"A batch of {toBeSent.Count} events has been published."); news = news.Skip(count).ToList(); } await Task.Delay(delay); } } }
public List <ArticleModel> Get(String searchString = "Apple", String country = "us") { NewsApiClient newsApiClient = new NewsApiClient(HLNewsLibrary.Properties.Resources.NewsAPIKey); List <ArticleModel> articles = new List <ArticleModel>(); var articlesResponse = newsApiClient.GetTopHeadlines(new TopHeadlinesRequest { Q = searchString, Country = GetCountry(country), Language = Languages.EN, }); if (articlesResponse.Status == Statuses.Ok) { // total results found var data = articlesResponse.TotalResults; if (articlesResponse.Articles.Count > 0) { // here's the first 20 foreach (var article in articlesResponse.Articles) { ArticleModel newArticle = new ArticleModel { sourceId = article.Source.Id, title = article.Title, description = article.Description, author = article.Author, url = article.Url, imageURL = article.UrlToImage, publishedAt = (DateTime)article.PublishedAt }; articles.Add(newArticle); } } else { ArticleModel newArticle = new ArticleModel { sourceId = "No Data Available", title = "No Data Available", description = "No Data Available", author = "No Data Available", url = "No Data Available", }; articles.Add(newArticle); } } return(articles); }
static void Main(string[] args) { // init with your API key var newsApiClient = new NewsApiClient("81c072dd1ec540069da4d4069ce99f39"); int hitsperpage = 80; int i = 2; int j = 1; int tot_arts = 300; while (i <= tot_arts / hitsperpage) { var articlesResponse = newsApiClient.GetEverything(new EverythingRequest { Q = "Bitcoin", SortBy = SortBys.Popularity, Language = Languages.EN, From = new DateTime(2020, 4, 1), PageSize = hitsperpage, Page = i }); if (articlesResponse.Status == Statuses.Ok) { // total results found tot_arts = articlesResponse.TotalResults; int start = (i - 1) * 100 + 1; int end = start + 99; Console.WriteLine(String.Format("Articles {0}-{1} of {2}", start, end, tot_arts)); foreach (var article in articlesResponse.Articles) { // title Console.WriteLine(j.ToString(), article.Title); // url Console.WriteLine(article.Url); // published at Console.WriteLine(article.PublishedAt); if (article.Author != null && article.Description != null && article.PublishedAt != null && article.Title != null) { // Convert to unixtime long unixtime = ((DateTimeOffset)article.PublishedAt).ToUnixTimeSeconds(); DataAccess.InsertNews((DateTime)article.PublishedAt, unixtime, article.Url, article.Title, article.Author, article.Description); j++; } } } Thread.Sleep(3000); i++; } Console.ReadLine(); }