0

我使用google tasks api,Patch()。

此请求不起作用:

{
  "status": "needsAction", 
} 

但是这个请求是可以的:

{
  "status": "needsAction", 
  "completed": null 
} 

我使用 .NET,如果我这样做

var task = new Google.Apis.Tasks.v1.Data.Task () 
{
    Status = "needsAction", 
    Completed = null 
};

然后,他只是忽略“已完成”,我得到一个错误。

同样的问题: https ://www.lima-city.de/thread/google-api-tasks

4

4 回答 4

0

您是否尝试过 DateTime.MinValue 而不是 null ?因为它应该是 DateTime 类型,并且这是一个不能分配 null 的结构。所以通常你不应该分配它,除非你需要它或用 DateTime.MinValue 或 DateTime.MaxValue 分配它...

此外,当您遇到错误时,您应该真正注意它提供的信息。通过实际了解错误消息告诉您的内容,这通常是解决问题的最简单方法。

但是,在您的情况下,我猜您甚至无法编译,因为对日期时间的空分配是非法的。

于 2014-09-10T19:45:26.827 回答
0

我在 https://developers.google.com/google-apps/tasks/v1/reference/tasks/update#try-it使用 API Explorer 进行了一些测试 ,发现服务器也需要“id”字段作为“状态”字段。

它不需要“已完成”字段,因为当“状态”设置为“needsAction”时,“已完成”字段会在服务器上自动删除。

因此,您只需要任务的原始 ID。

例如(在我的示例任务的 API Explorer 中){ "status": "needsAction", "id": "MTQwMDY3NzIwMTg5MTk4MzczOTA6MDoxNjQzNjkwMDc5" }

我希望这有帮助,

朱丽叶

https://groups.google.com/forum/embed/?place=forum%2Fgoogle-tasks-api&showsearch=true#!topic/google-tasks-api/Hj84P2guTyE

于 2014-09-11T16:42:50.577 回答
0

如果底层调用使用补丁语义,则在从 status=completed 更改为 status=needsAction 时,您必须在同一操作中将 completed 设置为 nil。这是设计使然。

于 2017-11-25T22:05:43.960 回答
0

随着使用

Google.Apis.Tasks.v1

你必须定义;Status = needsActionCompleted = null还有CompletedRaw = null

C#

.Status = "needsAction";
.CompletedRaw = null;
.Completed = null;

VB.NET

.Status = "needsAction"
.CompletedRaw = Nothing
.Completed = Nothing
于 2017-11-26T20:06:01.057 回答