
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.