Google api java client 无法使用Google Tasks API的Java库将任务标记为未完成;s

Google api java client 无法使用Google Tasks API的Java库将任务标记为未完成;s,google-api-java-client,Google Api Java Client,我正在尝试设置一种方法来更改任务的状态。我运行的代码如下: private void changeStatus(String taskId, String listId, String newStatus) throws IOException { Task task = mService.tasks().get(listId,taskId).execute(); task.setStatus(newStatus); mService.tasks().update(lis

我正在尝试设置一种方法来更改任务的状态。我运行的代码如下:

private void changeStatus(String taskId, String listId, String newStatus) throws IOException {
    Task task = mService.tasks().get(listId,taskId).execute();
    task.setStatus(newStatus);
    mService.tasks().update(listId, task.getId(), task).execute();
}
我正在传递任务id、列表id和newStatus(即“已完成”或“需要操作”)。该代码可以很好地将任务标记为已完成,但当我尝试将其标记为未完成时,它会给我一个“无效值”错误

我已尝试将状态设置为“needsAction”,而不是将完成日期设置为:

task.setCompleted(new DateTime(new Date().getTime())); 
但这也不行

正确的做法是什么


提前感谢。

这是应该做的:

private void changeStatus(String taskId, String listId, String newStatus) throws IOException {
    Task task = mService.tasks().get(listId,taskId).execute();
    task.setCompleted(null);
    task.setStatus(newStatus);
    mService.tasks().update(listId, task.getId(), task).execute();
}

我已经解决了。问题是我需要先将已完成的字段设置为null。见答案。