Les développeurs .NET ont désormais accès aux API Google

Par:
fredericmazue

mar, 25/03/2014 - 16:03

En fait tout le monde a accès aux API Google car celles-ci sont en ReST, HTTP et JSON. Mais comme le fait très justement remarquer Mountain View, disposer d'une librairie client c'est souvent bien pratique, et cela peut faire économiser des tonnes de temps.

C'est ainsi que Google annonce la disponibilité générale d'une librairie client d'une cinquantaine de ses API. Cette librairie est open source et hébergée sur NuGet. Elle permet d'écrire des applications aussi bien pour les ordinateurs de bureau que pour Windows Phone. 

Les développeurs trouveront effectivement cette librairie fort bien venue pour des travaux ardus comme l'authentification avec OAuth2, ou apprécierons encore de pouvoir générer facilement des rapports AdSense, etc. La liste complète des API supportées est accessible à cette adresse.  Un guide de démarrage est accessible à cette adresse. Voici un exemple de code mettant en oeuvre cette librairie client :

using System;
using System.Threading.Tasks;

using Google.Apis.Discovery.v1;
using Google.Apis.Discovery.v1.Data;

namespace Discovery.ListAPIs
{
    /// <summary>
    /// This example uses the discovery API to list all APIs in the discovery repository.
    /// https://developers.google.com/discovery/v1/using.
    /// <summary>
    class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            Console.WriteLine("Discovery API Sample");
            Console.WriteLine("====================");
            try
            {
                new Program().Run().Wait();
            }
            catch (AggregateException ex)
            {
                foreach (var e in ex.InnerExceptions)
                {
                    Console.WriteLine("ERROR: " + e.Message);
                }
            }
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }

        private async Task Run()
        {
            // Create the service.
            var service = new DiscoveryService(new BaseClientService.Initializer
                {
                    ApplicationName = "Discovery Sample",
                    APIKey="[YOUR_API_KEY_HERE]",
                });

            // Run the request.
            Console.WriteLine("Executing a list request...");
            var result = await service.Apis.List().ExecuteAsync();

            // Display the results.
            if (result.Items != null)
            {
                foreach (DirectoryList.ItemsData api in result.Items)
                {
                    Console.WriteLine(api.Id + " - " + api.Title);
                }
            }
        }
    }
}