Saltar la navegación

4.5.1- Google Tasks (I).

Símbolo que muestra un lápiz sobre una libreta.
Ausis (Dominio público)

El primer paso para acceder al servicio es autentificarse vimos en un vídeo anterior que si es la primera vez que entramos o el token ha caducado nos mandará a la página de Google, donde deberemos validarnos con un usuario y dar permiso a la aplicación a acceder a nuestras tareas (esto se hace en las líneas 19 y 20 del código que tienes abajo). La clave de acceso obtenida se debe almacenar utilizando la función setAccessToken. Puede almacenarse en una variable de sesión para futuras llamadas al servicio.

if (isset($_GET['code'])) {
    $token = $client->fetchAccessTokenWithAuthCode($_GET['code']);
    $client->setAccessToken($token);

    // Guardamos el token en una variable de sesion
    $_SESSION['token'] = $token;

    // redirigimas a esta misma página
    header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}

// set the access token as part of the client
if (!empty($_SESSION['token'])) {
    $client->setAccessToken($_SESSION['token']);
    if ($client->isAccessTokenExpired()) {
        unset($_SESSION['token']);
    }
} else {
    $authUrl = $client->createAuthUrl();
    header("Location:$authUrl"); //nos manda a la págian de google
}

Una vez autentificado el cliente, puedes emplear el objeto de la clase Google_Service_Tasks para gestionar las listas de tareas y las tareas del usuario.

  • Para Listar las 10 primeras Listas de Tareas (id y nombre (title)): (en principio solo hay una):
    $service = new Google_Service_Tasks($client);
    $optParams = ['maxResults' => 10];
    $results = $service->tasklists->listTasklists($optParams);
    if (count($results->getItems()) == 0) {
        echo "Ninguna Lista de tareas encontrada";
    } else {
        echo "Listas de Tareas:<br>";
        foreach ($results->getItems() as $tasklist) {
            printf("%s (%s)\n", $tasklist->getTitle(), $tasklist->getId());
        }
    }
  • Para Listar las tareas de una lista de tarea (hay que pasar el id de la lista de tareas):
    $res1 = $service->tasks->listTasks("YjNUcFR3NDk4a01SanZNTQ"); //cambia el id por el de la lista de tareas tuya
    echo  "Tareas:<br>";
    foreach ($res1->getItems() as $tasklist) {
        printf("%s (%s)\n", $tasklist->getTitle(), $tasklist->getId());
    }
  • Para crear una lista de tareas nueva:
    $opciones=["title"=>"Lista de Tareas 3"];
    $taskList = new Google_Service_Tasks_TaskList($opciones);
    $service->tasklists->insert($taskList);
  • Para crear una tarea nueva en una lista de tareas:
    $op=["title"=>"Entregar Trabajo DWES", "notes"=>"Formato pdf", "due"=>"2020-08-10T10:57:00.000-08:00"];
    $tarea=new Google_Service_Tasks_Task($op);
    $service->tasks->insert('YjNUcFR3NDk4a01SanZNTQ', $tarea); //pon el id de tu lista de tareas
  • Para borrar una tarea de una lista de tareas:
    $service->tasks->delete("YjNUcFR3NDk4a01SanZNTQ", "bU9hVFBDWlFPdFhnbVJGaQ"); //id_tasklist, idtask (Pon las tuyas)

La documentación sobre los parámetros y los métodos la puedes encontrar en el enlace siguiente: Documentación.

Autoevaluación

Pregunta

Para utilizar el servicio Google Tasks desde PHP, puedes emplear:

Respuestas

La API que ofrece Google.

La API que ofrece Google o llamadas REST.

Retroalimentación