Mostrando entradas con la etiqueta api. Mostrar todas las entradas
Mostrando entradas con la etiqueta api. Mostrar todas las entradas

viernes, 8 de marzo de 2019

Uso del API de Google Drive para .NET


Ejemplo de uso de la API de Google Drive en .NET.


  1. Activar las credenciales en Google Cloud Platform del tipo OAuth2.

    Descargamos el fichero JSON de la credencial.
  2. Creamos un nuevo proyecto en Visual Studio.
  3. Instalamos el paquete de Google Drive desde el gestor de paquetes de Visual Studio (NuGet)
  4. Agregamos el fichero JSON de la credencial del paso 1, al proyecto creado.
  5. Copiar el siguiente codigo a Program.cs o fichero que contiene el metodo Main.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
 class Program
    {

        private static readonly string[] Scopes = new[] { DriveService.Scope.DriveFile, DriveService.Scope.Drive };
        static void Main(string[] args)
        {

            Console.WriteLine("Google Drive API Sample");

            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()
        {
            GoogleWebAuthorizationBroker.Folder = "Drive.Sample";
            UserCredential credential;
            using (var stream = new System.IO.FileStream("client_secrets.json",
                System.IO.FileMode.Open, System.IO.FileAccess.Read))
            {
                credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.Load(stream).Secrets, Scopes, "user", CancellationToken.None);
            }

            // Create the service.
            var service = new DriveService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = "Drive API Sample",
            });

            ListRequest files = service.Files.List();
            //Se obtiene solo el ID o el nombre del fichero.
            files.Fields = "files(id,name)";
            var result = files.Execute();
            //Mostrar en pantalla los ficheros
            foreach (var file in result.Files)
            {
                Console.WriteLine(String.Format(
                        "Found file: {0} ({1})", file.Name, file.Id));
            }


        }
    }

Esta aplicación solo muestra los ficheros en pantalla. Pero se podría hacer cualquier cosa, una vez que se obtenga la conexion con el servicio.


Mas información del API de Drive, aqui. https://developers.google.com/drive/api/v3/search-parameters?hl=es