我在日历视图上使用delta函数来跟踪更改 . 我注意到从查询返回的响应包含两次"id"键 . 这是用于进行delta查询的URI:
String uri =“https://graph.microsoft.com/v1.0/me/calendars/ " + this.calendarId + " / calendarView / delta?startDateTime = "+startStr+"&endDateTime =”endStr;

我添加到GET请求的 Headers 是:“User-Agent”:“Mozilla / 5.0”“Accept”:“application / json”“Authorization”:“Bearer”accessToken“Prefer”:“outlook.timezone = \”东部标准时间\“”

我要回复的响应是(出于安全原因截断/修改值,但请注意重复的“id”键):

{
"@odata.context": ...,
"@odata.nextLink": ...,
"value": [{
    "@odata.type": "#microsoft.graph.event",
    "@odata.etag": ...,
    "createdDateTime": "2017-09-29T13:42:30.2678102Z",
    "lastModifiedDateTime": "2017-09-29T13:42:30.7678196Z",
    "changeKey": ...,
    "categories": [],
    "originalStartTimeZone": "UTC",
    "originalEndTimeZone": "UTC",
    "iCalUId": "040000008200E00074C5B7101A82E008000000005644B0CB2839D301000000000000000010000000D82FB69E4CC6794B9EF363568AB26611",
    "reminderMinutesBeforeStart": 15,
    "isReminderOn": true,
    "hasAttachments": false,
    "subject": "Coffee",
    "bodyPreview": "",
    "importance": "normal",
    "sensitivity": "normal",
    "isAllDay": false,
    "isCancelled": false,
    "isOrganizer": true,
    "responseRequested": true,
    "seriesMasterId": null,
    "showAs": "busy",
    "type": "singleInstance",
    "webLink": ...,
    "onlineMeetingUrl": null,
    "responseStatus": {
        "response": "organizer",
        "time": "0001-01-01T00:00:00Z"
    },
    "body": {
        "contentType": "html",
        "content": "<html><head><meta name=\"Generator\" content=\"Microsoft Exchange Server\">\r\n<!-- converted from text -->\r\n<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style></head>\r\n<body>\r\n<font size=\"2\"><span style=\"font-size:10pt;\"><div class=\"PlainText\">&nbsp;</div></span></font>\r\n</body>\r\n</html>\r\n"
    },
    "start": {
        "dateTime": "2017-09-29T16:00:00.0000000",
        "timeZone": "Eastern Standard Time"
    },
    "end": {
        "dateTime": "2017-09-29T16:30:00.0000000",
        "timeZone": "Eastern Standard Time"
    },
    "location": {
        "displayName": "Caf\ufffd"
    },
    "recurrence": null,
    "attendees": [{
        "type": "required",
        "status": {
            "response": "none",
            "time": "0001-01-01T00:00:00Z"
        },
        "emailAddress": {
            "name": "Betty Kennedy",
            "address": ...
        }
    }],
    "organizer": {
        "emailAddress": {
            "name": ...,
            "address": ...
        }
    },
    "id": "AAMkAGJmNjFhYjM1LTdlsddsa...",
    "id": "AAMkAGJmNjFhYjM1LTdlsddsa..."
},
{
    "@odata.type": "#microsoft.graph.event",
    "@odata.etag": ...,
    "createdDateTime": "2017-09-29T02:43:31.5152988Z",
    "lastModifiedDateTime": "2017-09-29T02:43:32.1559359Z",
    "changeKey": ...,
    "categories": [],
    "originalStartTimeZone": "UTC",
    "originalEndTimeZone": "UTC",
    "iCalUId": ...,
    "reminderMinutesBeforeStart": 15,
    "isReminderOn": true,
    "hasAttachments": false,
    "subject": "Dinner",
    "bodyPreview": "",
    "importance": "normal",
    "sensitivity": "normal",
    "isAllDay": false,
    "isCancelled": false,
    "isOrganizer": true,
    "responseRequested": true,
    "seriesMasterId": null,
    "showAs": "busy",
    "type": "singleInstance",
    "webLink": ...,
    "onlineMeetingUrl": null,
    "responseStatus": {
        "response": "organizer",
        "time": "0001-01-01T00:00:00Z"
    },
    "body": {
        "contentType": "html",
        "content": "<html><head><meta name=\"Generator\" content=\"Microsoft Exchange Server\">\r\n<!-- converted from text -->\r\n<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style></head>\r\n<body>\r\n<font size=\"2\"><span style=\"font-size:10pt;\"><div class=\"PlainText\">&nbsp;</div></span></font>\r\n</body>\r\n</html>\r\n"
    },
    "start": {
        "dateTime": "2017-09-29T19:00:00.0000000",
        "timeZone": "Eastern Standard Time"
    },
    "end": {
        "dateTime": "2017-09-29T20:00:00.0000000",
        "timeZone": "Eastern Standard Time"
    },
    "location": {
        "displayName": "Caf\ufffd"
    },
    "recurrence": null,
    "attendees": [{
        "type": "required",
        "status": {
            "response": "none",
            "time": "0001-01-01T00:00:00Z"
        },
        "emailAddress": {
            "name": "Jack Allen",
            "address": ...
        }
    }],
    "organizer": {
        "emailAddress": {
            "name": "xxxxx",
            "address": "xxxx@xxxx.com"
        }
    },
    "id": "AAMkAGJmNjFhYjdfsfsf...",
    "id": "AAMkAGJmNjFhYjdfsfsf..."
}]

}

知道为什么我两次获得“id”键吗?