任务状态返回needsAction

时间:2014-09-10 10:54:20

标签: c# .net google-tasks-api google-tasks

我使用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 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

我使用API​​ Explorer进行了一些测试 https://developers.google.com/google-apps/tasks/v1/reference/tasks/update#try-it 我发现服务器需要'id'字段以及'status'字段。

它不需要'completed'字段,因为当'status'设置为“needsAction”时,服务器上会自动删除'completed'字段。

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

e.g。 (在我的示例任务的API资源管理器中) {   “status”:“needsAction”,   “id”:“MTQwMDY3NzIwMTg5MTk4MzczOTA6MDoxNjQzNjkwMDc5” }

我希望这有帮助,

朱莉

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

答案 2 :(得分:0)

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

答案 3 :(得分: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