Cómo acceder a las tareas (Google Tasks) de las cuentas de correo electrónico de Google Workspace, mediante el lenguaje de programación C#, de Visual Studio .NET. Indicamos los requisitos (cómo crear un proyecto Google Cloud, habilitar uso de Google Tasks API, crear claves de autorización, crear cliente API y permisos de OAuth, etc.). Mostramos un ejemplo completo en código C# que obtiene la lista de tareas, la tareas de cada lista y permite insertar nuevas tareas, nuevas listas, eliminar tareas y completar tareas.

Requisitos para acceder a la gestión de tareas (Google Tasks de Google Workspace mediante C#

En la administración de las cuentas de Google Workspace (o de una cuenta si tenemos únicamente la cuenta gratuita de GMail), crearemos un nuevo proyecto Google Cloud. Para ello accederemos al siguiente enlace (con una cuenta administradora del dominio):

Pulsaremos en «Selecciona un proyecto» de Google Cloud:

Selecciona tu dominio y pulsa en «PROYECTO NUEVO»:

Introduciremos los datos del nuevo proyecto Google Cloud (el nombre, la organización si tenemos varias, la ubicación, etc.):

Una vez creado el nuevo proyecto, en este caso llamado «ProyectoA», sobre el proyecto, pulsaremos en «APIs y servicios» y en «Biblioteca»:

Lo que haremos ahora será habilita el API del servicio que queramos usar. En este caso usaremos el servicio «Tasks» de Google, por lo que lo buscaremos en el buscador, escribiendo «tasks»

Pulsaremos en «HABILITAR»:

De esta forma, habilitaremos el uso del la API de Google para Task: Google Tasks API.

Para la validación y la autenticación en el servicio de Google Tasks API necesitaremos crear unas credenciales, por lo que pulsaremos en «CREAR CREDENCIALES»:

A continuación elegiremos el método de autenticación. Este paso es importante y hay que tener claro con qué fin se va a usar la aplicación y a qué datos va a acceder. Sobre esto, Google tiene mucha documentación, para que elijamos el método de acceso apropiado según el servicio y datos a los que queramos acceder. Por ejemplo, si la aplicación va a acceder a datos sensibles del usuario, marcaremos «Datos del usuario», de forma que, es posible, que el usuario tenga que aceptar o denegar la solicitud del permiso (esto se definirá en los scopes de la aplicación) determinado.

Antes de continuar, recomendamos que se visite este enlace, donde hay documentación al respecto del método a usar:

En nuestro caso, usaremos una cuenta de servicio para autorizar el acceso, por lo que marcaremos la segunda opción «Datos de aplicaciones»:

Introduciremos los datos de al cuenta de servicio (nombre, ID, descripción) y pulsaremos «CREAR Y CONTINUAR»:

El resto de datos es opcional, finalizaremos la creación de la cuenta de servicio.

Desde «Cuentas de servicio» nos mostrará la cuenta creada. Anotaremos el ID de cliente de OAuth 2. Este dato es importante y lo necesitamos más adelante:

Requisitos para acceder a la gestión de tareas (Google Tasks de Google Workspace mediante C#

Crearemos un clave pulsando en el botón de acciones, eligiendo «Administrar claves»:

Pulsaremos en «AGREGAR CLAVE» y en «Crear clave nueva»:

Marcaremos «JSON» y pulsaremos en «CREAR»:

Se descargará un fichero .json y nos advertirá de que guardemos este fichero en lugar seguro. Es muy importante que este fichero no quede expuesto públicamente dado que es el que proporciona acceso al servicio indicado (en este caso a Google Tasks):

En caso de que el fichero de clave haya quedado expuesto, deberemos eliminarlo inmediatamente y generar uno nuevo:

Una vez creado el proyecto Google Cloud y establecida la autorización para el uso de Google Tasks API, deberemos indicar la autorización a nivel de dominio. Para ello, desde la consola de administración de nuestro dominio (https://admin.google.com):

Pulsaremos en «Seguridad» – «Control de acceso y de datos» – «Controles de APIs»:

Pulsaremos en «GESTIONAR DELEGACIÓN DE TODO EL DOMINIO»:

Pulsaremos en «Añadir nuevo»:

Introduciremos el ID de cliente que anotamos anteriormente. Y añadiremos las siguientes URL para autorizar las acciones (scopes) que deseemos para la aplicación:

https://www.googleapis.com/auth/tasksCrear, editar, organizar y borrar todas sus tareas
https://www.googleapis.com/auth/tasks.readonlyConsulta tus tareas.

Pulsaremos en «AUTORIZAR»:

Crear proyecto C# en Visual Studio .Net con acceso a Google Tasks

Crearemos un nuevo proyecto en Visual Studio .Net, con el lenguaje de programación C# (C Sharp). En el formulario principal añadiremos los siguientes componentes:

  • TextBox: para indicar la ruta y nombre de fichero de claves (el generado en el proceso anterior).
  • TextBox: para indicar la cuenta de GMail de la que obtendremos las tareas. Este dato es importante, dado que si hemos generado una cuenta de servicio (como hemos indicado en el paso anterior), es posible que tenga acceso a todas las tareas de todas las cuentas de nuestro dominio de Google Workspace. Por ello hay que proceder con precaución con los permisos de acceso al fichero de claves.
  • Button: para conectar con el servicio de Google Tasks API.
  • ListBox: para mostrar una lista de listas de tareas, con su ID y su título.
  • Button: para obtener las listas de tareas.
  • CheckBox: para mostrar/ocultar las tareas eliminadas, para mostrar/ocultar las tareas ocultas y para mostrar/ocultar las tareas completadas.
  • ListBox: para mostrar las tareas de la lista seleccionada actualmente.
  • Button: para marcar tarea seleccionada como completada.
  • Button: para eliminar la tarea seleccionada.
  • TextBox: para título y observación de tarea a insertar.
  • Button: para insertar una nueva tarea.
  • TextBox: para el título de la lista de tareas a insertar.
  • Button: para insertar una lista de tareas.

Instalaremos el paquete Nuget necesario para acceso a Google Tasks API desde nuestra aplicación C#. Para ello, en Visual Studio .Net, pulsaremos en «Herramientas» – «Administrador de paquetes NuGet» – «Administrar paquetes NuGet para la solución…»:

En «Examinar» buscaremos «google api tasks» [1]. Pulsaremos en «Google.Apis.Tasks.v1» 2]. Marcaremos el proyecto [3] y pulsaremos en «Instalar» [4]:

Nos mostrará las dependencias necesarias, pulsaremos en «Aceptar»:

Código C# completo del formulario formPrincipal.cs

A continuación, mostramos el código completo de la unidad formPrincipal.cs. Las líneas más importantes van comentadas con su explicación oportuna. Se trata del único formulario de la aplicación y contiene todos los procedimientos de conexión con el API y de realización de todas las acciones anteriores (mostrar lista de tareas, mostrar tareas de una lista, completar, eliminar, insertar tareas, insertar lista):

Se añade la clase «Config.cs» para guardar y leer los valores en el fichero de configuración de la aplicación, con el siguiente código:

La aplicación ProyectoA Google Tasks en funcionamiento

En primer lugar, indicaremos la ruta y nombre del fichero de claves generado con la autorización para el acceso a Google Tasks API en «Fichero de clave». Introduciremos también la cuenta de Google con la que trabajaremos para la gestión de sus tareas. Pulsaremos en «1º Conectar»:

Si el fichero de claves y la cuenta son correctos, la aplicación mostrará el mensaje «Conectado con el servicio Google Tasks API.»:

Pulsaremos en «2º Obtener listas» [1]. La aplicación obtendrá todas las listas de tareas de la cuenta indicada. Si pulsamos en una lista [2], la aplicación nos mostrará todas las tareas de esa lista [3]:

Podremos completar una tarea, eliminar una tarea o modificar una tarea. Seleccionaremos la tarea y pulsaremos en uno de los botones a tal efecto.

Podremos insertar una nueva tarea:

La tarea se insertará en la lista seleccionada.

Podremos añadir una lista de tareas:

Y también podremos mostrar y ocultar tareas marcadas como eliminadas, ocultas o completadas:

Descarga del código fuente completo en C# de la aplicación ProyectoA Google Tasks

A continuación, indicamos enlace a la descarga gratuita del código fuente completo en C# de la aplicación ProyectoA Google Tasks: