Cómo ordenar las tareas de Google Tasks

Puedes organizar las tareas en un orden específico para satisfacer las necesidades y preferencias del usuario. Puedes mover una tarea debajo de otra (tarea parent) o después de otra (previous).

La interfaz de Google Tasks, que muestra las tareas organizadas en un orden jerárquico y secuencial.

Para mover una tarea, envía una solicitud POST autenticada a la siguiente URL con los siguientes parámetros especiales:

El parámetro parent
Especifica el ID de la tarea principal en la que se debe insertar la tarea nueva. Si se omite este parámetro, la tarea se coloca en el nivel superior de la lista.
El parámetro previous
Especifica el ID de la tarea después de la cual se debe insertar la nueva tarea. Si se omite este parámetro, la tarea se coloca en la primera posición de la sublista.

La URL tiene el siguiente formato:

https://www.googleapis.com/tasks/v1/lists/taskListID/tasks/
taskID/move?parent=parentTaskID&previous=previousTaskID

Con los valores adecuados en lugar de taskListID, taskID, parentTaskID y previousTaskID.

Nota: El valor especial taskListID, @default, se puede usar para hacer referencia a la lista de tareas predeterminada del usuario autenticado.

Si la operación se realiza correctamente, el servidor responde con un código de estado HTTP 200 OK y los datos de la tarea nueva.

Ejemplo

Protocolo

Solicitud:

POST /tasks/v1/lists/@default/tasks/taskID/move?parent=parentTaskID\
&previous=previousTaskID

Respuesta:

HTTP/1.1 200 OK

{
  id: "taskID",
  kind: "tasks#task",
  selfLink: "https://www.googleapis.com/tasks/v1/lists/@default/tasks/\
taskID",
  etag: "newETag",
  title: "New Task",
  notes: "Please complete me",
  updated: "2010-10-15T11:30:00.000Z",
  ...,
  parent: "parentTaskID",
  position: "newPosition",
  ...
}

Java

import com.google.api.services.tasks.v1.Tasks.TasksOperations.Move;
...

Move move = service.tasks.move("@default", "taskID");
move.setParent("parentTaskID");
move.setPrevious("previousTaskID");
Task result = move.execute();

// Print the new values.
System.out.println(result.getParent());
System.out.println(result.getPosition());

Python

result = service.tasks().move(tasklist='@default', task='taskID',\
                              parent='parentTaskID',\
                              previous='previousTaskID').execute()

# Print the new values.
print result['parent']
print result['position']

PHP

$result = $service->moveTasks('taskID', '@default', null, 'parentTaskID', 'previousTaskID');

/*
 * Print the new values.
 */
echo $result->getParent();
echo $result->getPosition();

.NET

Task result = service.Tasks.Move("@default", "taskID",
                                 parent: "parentTaskID", previous: "previousTaskID").Fetch();
// Print the new values.
Console.WriteLine(result.Parent);
Console.WriteLine(result.Position);

Nota: Los parámetros parent y previous también se pueden usar cuando se crea una tarea nueva.