Skip to content
This repository has been archived by the owner on Jul 1, 2020. It is now read-only.

AYLIEN's officially supported .Net (C#) client library for accessing News API

Notifications You must be signed in to change notification settings

AYLIEN/aylien_newsapi_csharp

Repository files navigation

AYLIEN News API - C# SDK

The AYLIEN News API is the most powerful way of sourcing, searching and syndicating analyzed and enriched news content. It is accessed by sending HTTP requests to our server, which returns information to your client.

Sign up at https://newsapi.aylien.com/.

For more documentation see https://newsapi.aylien.com/docs/.

Frameworks supported

  • .NET 4.0 or later
  • Windows Phone 7.1 (Mango)

Dependencies

The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:

Install-Package FubarCoder.RestSharp.Portable.HttpClient
Install-Package Newtonsoft.Json

NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742

Installation

Run the following command to generate the DLL

  • [Mac/Linux] /bin/sh build.sh
  • [Windows] build.bat

Then include the DLL (under the bin folder) in the C# project, and use the namespaces:

using Aylien.NewsApi.Api;
using Aylien.NewsApi.Client;
using Aylien.NewsApi.Model;

Getting Started

using System;
using Aylien.NewsApi.Api;
using Aylien.NewsApi.Client;
using Aylien.NewsApi.Model;
using System.Collections.Generic;

namespace GettingStartedExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Configure API key authorization: app_id
            var apiId = System.Environment.GetEnvironmentVariable("X-AYLIEN-NewsAPI-Application-ID");
            Configuration.Default.ApiKey.Add("X-AYLIEN-NewsAPI-Application-ID", apiId);

            // Configure API key authorization: app_key
            var apiKey = System.Environment.GetEnvironmentVariable("X-AYLIEN-NewsAPI-Application-Key");
            Configuration.Default.ApiKey.Add("X-AYLIEN-NewsAPI-Application-Key", apiKey);

            var apiInstance = new DefaultApi();

            try
            {
                // List stories
                Stories storiesResponse = apiInstance.ListStories(
                    title: "trump",
                    publishedAtStart: "NOW-7DAYS",
                    publishedAtEnd: "NOW",
                    language: new List<string> { "en" },
                    notLanguage: new List<string> { "it", "es" },
                    entitiesBodyLinksDbpedia: new List<string> {
                        "http://dbpedia.org/resource/Donald_Trump",
                        "http://dbpedia.org/resource/Hillary_Rodham_Clinton"
                    },
                    sortBy: "social_shares_count.facebook"
                );

                foreach (var story in storiesResponse._Stories)
                {
                    Console.WriteLine(story.Title + " / " + story.Source.Name);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception when calling DefaultApi.ListStories: " + e.Message);
            }
        }
    }
}

Documentation for API Endpoints

All URIs are relative to https://api.aylien.com/news

Class Method HTTP request Description
DefaultApi ListAutocompletes GET /autocompletes List autocompletes
DefaultApi ListClusters GET /clusters List Clusters
DefaultApi ListCoverages GET /coverages List coverages
DefaultApi ListHistograms GET /histograms List histograms
DefaultApi ListRelatedStories GET /related_stories List related stories
DefaultApi ListStories GET /stories List Stories
DefaultApi ListTimeSeries GET /time_series List time series
DefaultApi ListTrends GET /trends List trends

Documentation for Models