在office 365 api上插入重复活动会返回错误的开始和结束日期

时间:2016-04-07 12:53:46

标签: asp.net json api graph office365

我正在开发基于Microsoft Office 365 Api的Asp.net MVC App日历。 当我尝试插入事件服务器时,请更改我的开始日期和结束日期。

我在这里试过Microsoft Graph Api Explorer:https://graph.microsoft.io/en-us/graph-explorer,这个事件:

{
  "subject": "TEST 11",
  "recurrence": {
    "pattern": {
      "type": "relativeYearly",
      "interval": 1,
      "month": 1,
      "dayOfMonth": 0,
      "daysOfWeek": [
        "monday"
      ],
      "firstDayOfWeek": "sunday",
      "index": "first"
    },
    "range": {
      "type": "noEnd",
      "startDate": "2016-04-07",
      "endDate": "0001-01-01",
      "recurrenceTimeZone": "UTC",
      "numberOfOccurrences": 0
    }
  },
  "body": {
    "content": ""
  },
  "end": {
    "dateTime": "2016-04-07T13:30:00",
    "timeZone": "UTC"
  },
  "start": {
    "dateTime": "2016-04-07T12:00:00", 
    "timeZone": "UTC"
  } 
}

我无法弄清楚为什么它会把这个结果归还给我:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('fb28a0fc-d439-46c1-b501-aa436c81b089')/events/$entity",
    "@odata.etag": "W/\"+OqDZnLqWUiJHsDJY80iMwAAydKXaA==\"",
    "id": "AAMkADVlYTFhYTI3LTdkYzQtNDgwMS05ZGRmLTExYjI3YjRmM2U1NwBGAAAAAACXbg5biElkTKzIlWuGxBCkBwD46oNmcupZSIkewMljzSIzAAAAAAENAAD46oNmcupZSIkewMljzSIzAADJymunAAA=",
    "createdDateTime": "2016-04-07T12:29:19.9539087Z",
    "lastModifiedDateTime": "2016-04-07T12:29:19.9695341Z",
    "changeKey": "+OqDZnLqWUiJHsDJY80iMwAAydKXaA==",
    "categories": [],
    "originalStartTimeZone": "UTC",
    "originalEndTimeZone": "UTC",
    "responseStatus": {
        "response": "organizer",
        "time": "0001-01-01T00:00:00Z"
    },
    "iCalUId": "040000008200E00074C5B7101A82E008000000008F87CA1BC990D101000000000000000010000000DA81E77A153D2945A59DB6B7C9134881",
    "reminderMinutesBeforeStart": 15,
    "isReminderOn": true,
    "hasAttachments": false,
    "subject": "TEST 11",
    "body": {
        "contentType": "text",
        "content": ""
    },
    "bodyPreview": "",
    "importance": "normal",
    "sensitivity": "normal",
    "start": {
        "dateTime": "2017-01-02T12:00:00.0000000",
        "timeZone": "UTC"
    },
    "end": {
        "dateTime": "2017-01-02T13:30:00.0000000",
        "timeZone": "UTC"
    },
    "location": {
        "displayName": "",
        "address": {}
    },
    "isAllDay": false,
    "isCancelled": false,
    "isOrganizer": true,
    "recurrence": {
        "pattern": {
            "type": "relativeYearly",
            "interval": 1,
            "month": 1,
            "dayOfMonth": 0,
            "daysOfWeek": [
                "monday"
            ],
            "firstDayOfWeek": "sunday",
            "index": "first"
        },
        "range": {
            "type": "noEnd",
            "startDate": "2017-01-02",
            "endDate": "0001-01-01",
            "recurrenceTimeZone": "UTC",
            "numberOfOccurrences": 0
        }
    },
    "responseRequested": true,
    "seriesMasterId": null,
    "showAs": "busy",
    "type": "seriesMaster",
    "attendees": [],
    "organizer": {
        "emailAddress": {
            "name": "Luigi Gallo",
            "address": "luigi.gallo@uniroma3.it"
        }
    },
    "webLink": "https://outlook.office365.com/owa/?ItemID=AAMkADVlYTFhYTI3LTdkYzQtNDgwMS05ZGRmLTExYjI3YjRmM2U1NwBGAAAAAACXbg5biElkTKzIlWuGxBCkBwD46oNmcupZSIkewMljzSIzAAAAAAENAAD46oNmcupZSIkewMljzSIzAADJymunAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory"
}

1 个答案:

答案 0 :(得分:1)

"month": 1,
"daysOfWeek": [
    "monday"
  ],
  "firstDayOfWeek": "sunday",
  "index": "first"

您想插入什么样的重复活动?根据代码,您插入了一个“relativeYearly”事件,如下图所示:

enter image description here

根据帖子的内容,第一场比赛应该是1月的第一个星期一,即2017年1月1日。由于原始开始日期和结束日期(2016年4月7日)与此模式不匹配,服务器会自动将其更改为1/2/2017 hh:mm:ss。

您可能需要更改重复周期以符合业务要求。