Outlook Microsoft Graph API:为什么在过去创建重复事件会返回400?

Outlook Microsoft Graph API:为什么在过去创建重复事件会返回400?,outlook,microsoft-graph-api,microsoft-graph-calendar,Outlook,Microsoft Graph Api,Microsoft Graph Calendar,我在过去使用Graph API创建重复事件时遇到了一个问题。当我将此数据发布到/me/calendars/[calendarId]/events时,我得到一个ErrorPropertyValidationFailure错误: { "isAllDay": true, "start": { "timeZone": "America/New_York", "dateTime":

我在过去使用Graph API创建重复事件时遇到了一个问题。当我将此数据发布到/me/calendars/[calendarId]/events时,我得到一个
ErrorPropertyValidationFailure
错误:

{
  "isAllDay": true,
  "start": {
    "timeZone": "America/New_York",
    "dateTime": "2000-09-02"
  },
  "end": {
    "timeZone": "America/New_York",
    "dateTime": "2000-09-03"
  },
  "subject": "Jimmy's birthday",
  "body": { "contentType": "text", "content": "" },
  "isCancelled": false,
  "recurrence": {
    "pattern": {
      "type": "absoluteYearly",
      "interval": 1,
      "dayOfMonth": 2,
      "month": 9
    },
    "range": { "startDate": "2000-09-02", "type": "noEnd" }
  },
  "showAs": "free",
  "type": "seriesMaster"
}
所有数据对我来说似乎都是有效的,事实上,只要将开始和结束日期时间值以及重复范围的开始日期改为2019年而不是2000年,就可以了

但这里有点奇怪:将这些值保留在2000年,并将重复模式中的
dayOfMonth
更改为不正确的值,如5。然后当提交到API时,它就可以工作了!相反,该活动似乎从2000年9月5日开始,9月2日没有任何活动(此外,该活动似乎在日历上运行“2000年9月5日星期二,晚上11:00至2000年9月6日星期三,晚上11:00”,这很奇怪,因为它也显示为全天活动)

所以我的问题是:这是一个bug吗?或者到底发生了什么?看起来正确的数据会出现验证错误,但不正确的数据会创建一个事件

正在更新以添加错误正文:

{
  "error": {
    "code": "ErrorPropertyValidationFailure",
    "message": "At least one property failed validation.",
    "innerError": {
      "date": "2020-10-15T22:48:50",
      "request-id": "c08b1d73-5b6d-46ac-8751-d1f17310f652",
      "client-request-id": "c08b1d73-5b6d-46ac-8751-d1f17310f652"
    }
  }
}

您能告诉我们为什么要在过去创建事件吗?@Shiva MSFTIdentity通常不会,但它是用于日历同步的,许多Outlook用户似乎将生日事件作为年度重复事件,从一个人的实际出生日期开始,例如1954年或任何时候。因此,如果他们要更改为同步以指向新的空白Outlook日历,我们希望创建类似的事件以确保日历匹配。过去可以创建事件的时间是否有限制?我在API文档中没有看到任何内容,除了
ErrorPropertyValidationFailure
错误代码告诉我一个属性验证失败(来自有效负载),错误消息没有提供任何信息。所以我的问题是,上述给定的有效载荷(2000年)是否总是在任何时候失效或工作?如果您尝试重新提交,会发生什么情况?您仍然看到相同的错误吗?@Dev我尝试过之后,它总是失败,但是当我更改
重复
的一部分以获得不正确的信息(例如将
月日
更改为2以外的值)时,它就成功了,没有错误。好的,酷。。。您能否分享上述请求的详细错误响应(带有correlationid/请求id和时间戳)。。。