如何撤消Outlook任务完成?

时间:2018-11-06 20:45:02

标签: microsoft-graph

使用Outlook,我只需选择“新建任务”并输入主题并单击“保存并关闭”即可创建一个非常简单的任务。然后,我右键单击该任务,然后选择“标记为完成”。现在,任务在“任务”文件夹中显示为已完成,如下所示(请注意“完成日期”列-“ 11/6/2018”):

Completed Outlook Task

或在“待办事项列表”文件夹中这样:

Completed Outlook Task - To-Do List

现在,如果我在“待办事项”列表上取消选中任务左侧的复选框,则任务将返回“活动”状态。如果我右键单击已完成的任务,然后再次选择“标记为完成”,也会发生同样的情况。

这是重新激活的任务的样子:

Reactivated Outlook Task

接下来,我通过以下两个调用图api(来自Graph Explorer)的一个来标记任务已完成

PATCH https://graph.microsoft.com/beta/me/outlook/tasks({id})

{
   "status": "completed"
}

OR

POST https://graph.microsoft.com/beta/me/outlook/tasks({id})/complete

回到Outlook,一切看起来都很好,除了完成日期现在是11月5日。我希望行为与以前相同,并且将11月6日作为完成日期。这是第一个问题。

第二个问题是,如果我现在尝试重新激活该任务,它将进入一个奇怪的状态。我已经尝试了上述两个重新激活选项,还尝试进行新的PATCH调用,将状态重新设置为“ notStarted”。它们都产生相同的行为,任务被列为“活动”和“已完成”:

尝试重新激活该任务失败后的样子:

在“任务”文件夹中: enter image description here

并在“待办事项列表”文件夹中: enter image description here



这是一个错误还是我忘记了什么?

1 个答案:

答案 0 :(得分:0)

  

回到Outlook,一切看起来都正常,除了以下事实:   现在的完成日期是11月5日。我希望有   与以前相同的行为,并以11月6日作为完成日期。   这是第一个问题。

日期问题可能是由API中的时区句柄逻辑引起的。您可以明确设置日期时间。

{
   "status": "completed",
    "completedDateTime": {
        "dateTime": "2018-11-12T00:00:00.0000000",
        "timeZone": "UTC"
    } 
}
  

第二个问题是,如果我现在尝试重新激活该任务,它将   进入一个奇怪的状态。我尝试了两个重新激活选项   上述内容,并尝试进行新的PATCH调用设置   状态返回到“ notStarted”。它们都产生相同的行为,   任务被列为“活动”和“已完成”:

尽管不确定是否是设计使然。但是,从理论上讲,在完成列表中保留一个,在完成列表中保留一个是没有问题的。这可以具有跟踪历史。 反应性也不是一种好的操作行为。