Участники не добавляются при создании события календаря Outlook с помощью Microsoft Graph API - PullRequest
3 голосов
/ 02 мая 2019

Я создаю событие календаря Outlook, используя Microsoft Graph API с моим приложением Node.js. После ссылки на эту документацию / пример: https://docs.microsoft.com/en-us/previous-versions/office/office-365-api/api/version-2.0/calendar-rest-operations#CreateEvents

Мой код:

var options = {
    method: 'POST',
    url: 'https://graph.microsoft.com/v1.0/me/calendar/events',
    headers: {
        'Authorization': 'Bearer ' + access_token,
        'Content-Type': 'application/json'
    },
    body: {
        "subject": "Node.js outlook test",
        "body": {
            "contentType": "HTML",
            "content": "Test event created from node.js"
        },
        "start": {
            "dateTime": "2019-03-25T12:00:00",
            "timeZone": "Pacific Standard Time"
        },
        "end": {
            "dateTime": "2019-03-25T14:00:00",
            "timeZone": "Pacific Standard Time"
        },
        "isAllDay": false,
        "location": {
            "displayName": null
        },
        "attendees": [{
            "emailAddress": {
                "address": "my-other-email@gmail.com",
                "name": "Adele Vance"
            },
            "type": "required"
        }]
    },
    json: true
};

request(options, function (err, response, body) {
    if (err) throw new Error(err);
    res.send(body);
});

Событие создается в календаре Outlook, но нет посетителей, связанных с событием.

Я получаю следующий ответ после создания события

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('my_hotmail_email%40hotmail.com')/calendar/events/$entity",
    "@odata.etag": "W/\"69zWaBpmuEqq9NMFBSWV6QACU8X/gQ==\"",
    "id": "AQMkADAwATYwMAItYzA3My1mNzUxLTAwAi0wMAoARgAAAwh1Hv4SptVMlm3BaW7y4g0HAOvc1mgaZrhKqvTTBQUAJZXpAAACAQ0AAADr3NZoGma4Sqr00wUFACWV6QACU7Qp1gAAAA==",
    "createdDateTime": "2019-05-02T09:12:12.0349227Z",
    "lastModifiedDateTime": "2019-05-02T09:12:12.0789547Z",
    "changeKey": "69zWaBpmuEqq9NMFBSWV6QACU8X/gQ==",
    "categories": [],
    "originalStartTimeZone": "Pacific Standard Time",
    "originalEndTimeZone": "Pacific Standard Time",
    "iCalUId": "040000008200E00074C5B7101A82E0080000000077C77520C700D5010000000000000000100000001CB042E1D2C57341BA3D3799F9853B63",
    "reminderMinutesBeforeStart": 15,
    "isReminderOn": true,
    "hasAttachments": false,
    "subject": "Node.js outlook test",
    "bodyPreview": "Test event created from node.js",
    "importance": "normal",
    "sensitivity": "normal",
    "isAllDay": false,
    "isCancelled": false,
    "isOrganizer": true,
    "responseRequested": true,
    "seriesMasterId": null,
    "showAs": "busy",
    "type": "singleInstance",
    "webLink": "https://outlook.live.com/owa/?itemid=AQMkADAwATYwMAItYzA3My1mNzUxLTAwAi0wMAoARgAAAwh1Hv4SptVMlm3BaW7y4g0HAOvc1mgaZrhKqvTTBQUAJZXpAAACAQ0AAADr3NZoGma4Sqr00wUFACWV6QACU7Qp1gAAAA%3D%3D&exvsurl=1&path=/calendar/item",
    "onlineMeetingUrl": null,
    "recurrence": null,
    "responseStatus": {
        "response": "organizer",
        "time": "0001-01-01T00:00:00Z"
    },
    "body": {
        "contentType": "html",
        "content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=us-ascii\">\r\n</head>\r\n<body>\r\nDoes mid month work for you?\r\n</body>\r\n</html>\r\n"
    },
    "start": {
        "dateTime": "2019-03-25T12:00:00.0000000",
        "timeZone": "Pacific Standard Time"
    },
    "end": {
        "dateTime": "2019-03-25T14:00:00.0000000",
        "timeZone": "Pacific Standard Time"
    },
    "attendees": [
        {
            "type": "required",
            "status": {
                "response": "none",
                "time": "0001-01-01T00:00:00Z"
            },
            "emailAddress": {
                "name": "My Name",
                "address": "my_hotmail_email@hotmail.com"
            }
        }
    ],
    "organizer": {
        "emailAddress": {
            "name": "My Name",
            "address": "my_hotmail_email@hotmail.com"
        }
    }
}

Как вы можете видеть в массиве участников, он предоставляет мою собственную учетную запись hotmail / outlook, но не учетную запись gmail, которая была включена в запрос.

Я также не получаю приглашения в календарь на свою учетную запись gmail. Есть идеи, что может пойти не так?

enter image description here

1 Ответ

1 голос
/ 03 мая 2019

Проблема в том, что ваша учетная запись Outlook / Hotmail знает ваш адрес GMail. Самый простой способ проверить, так ли это, - войти в Outlook.com, используя свой адрес @gmail.com, но пароль Outlook / Hotmail. Если в вашей учетной записи Microsoft ваш адрес GMail указан в качестве действительного псевдонима, он будет аутентифицировать вас так же, как если бы вы ввели свой основной адрес.

Поскольку ваш адрес GMail воспринимается как псевдоним, Outlook автоматически заменяет псевдоним GMail на ваш адрес по умолчанию (ваш @outlook.com адрес).

Попробуйте использовать новый адрес GMail, и он должен работать так, как вы ожидаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...