0
votes

I am trying to create a meeting with Graph API create an event but it creates meeting always in UTC timezone.

Request

POST https://graph.microsoft.com/v1.0/users/[email protected]/calendar/events HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
Authorization: Bearer xxxxxx
Prefer: outlook.timezone="Asia/Kolkata"
Content-Length: 1016
Host: graph.microsoft.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

{
  "subject": "Meeting SoapUI 4",
  "body": {
    "contentType": "HTML",
    "content": "Please Ignore !!! This invitation coming from SoapUI automation utility."
  },
  "start": {
    "dateTime": "2020-06-05T19:30:00.000Z",
    "timeZone": "Asia/Kolkata"
  },
  "end": {
    "dateTime": "2020-06-05T20:00:00.000Z",
    "timeZone": "Asia/Kolkata"
  }
}

Response

{
   "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('abc%40xxx.onmicrosoft.com')/calendar/events/$entity",
   "@odata.etag": "W/\"xxxx==\"",

   "originalStartTimeZone": "UTC",
   "originalEndTimeZone": "UTC",

   "subject": "MiniSync Meeting SoapUI 4",
   "bodyPreview": "Please Ignore !!! This invitation coming from SoapUI automation utility.",

   "responseStatus":    {
      "response": "organizer",
      "time": "0001-01-01T00:00:00Z"
   },
   "body":    {
      "contentType": "html",

   "start":    {
      "dateTime": "2020-06-05T19:30:00.0000000",
      "timeZone": "UTC"
   },
   "end":    {
      "dateTime": "2020-06-05T20:00:00.0000000",
      "timeZone": "UTC"
   }]
}

Also, tried with 'India Standard Time' but the response is same. Added the Prefer header but no luck. Can someone help where I am making mistake?

1

1 Answers

3
votes

Remove the Z specifier at the end of your dateTime's. That specifies UTC and is overriding the time zone you're sending.