Insert recurring event on office 365 api returns incorrect start and end date

故事扮演 提交于 2019-12-23 02:22:08

问题


I'm developing an Asp.net MVC App calendar, based on microsoft Office 365 Api. When I'm trying to insert an event server changes my start date and end date.

I've tried on Microsoft Graph Api Explorer here: https://graph.microsoft.io/en-us/graph-explorer, with this event:

{
  "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"
  } 
}

and I can't figure out why it returns me this result:

{
    "@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:


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

What kind of recurring event did you want to insert? Based on the code, you were inserting an “relativeYearly” event like the figure below:

According to the post body, the first match should be the first Monday of January which is 1/2/2017. Since the original start date and end date(4/7/2016) does not match this pattern, the server automatically change it to 1/2/2017 hh:mm:ss.

You may need to change the recurrence to fit the business requirement.



来源:https://stackoverflow.com/questions/36476812/insert-recurring-event-on-office-365-api-returns-incorrect-start-and-end-date

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!