API календаря Office — как привлечь пользователя к существующему событию

Использование приложения daemon/service с помощью API REST календаря Outlook , я хочу, чтобы пользователь мог посетить существующее мероприятие, созданное другим пользователем. Посещающий пользователь не приглашается на него заранее. Другими словами, я хочу запрограммировать как приглашение пользователя на событие, так и его принятие пользователем за один шаг.

Когда я читаю документацию по API, единственный способ сделать это — это:

1) Получить массив участников мероприятия

GET https://outlook.office.com/api/users/{eventauthor_mail}/events/{event_id}

Участники будут массивом:

"Attendees": [
      {
        "EmailAddress": {
          "Address": "[email protected]",
          "Name": "Janet Schorr"
        },
        "Status": {
          "Response": "None",
          "Time": "0001-01-01T00:00:00Z"
        },
        "Type": "Required"
      },
      ...
    ],

2) Расширить массив участников

Теперь мне нужно расширить массив участников, что-то вроде этого в PHP:

    array_push($attendees, array(
      "EmailAddress" => array(
        "Address" => $newAttendeeMail,
        "Name" => $newAttendeeName
      ),
      "Status" => array(
        "Response" => $newAttendeeStatus,
        "Time" => $newAttendeeTime
      ),
      "Type" => $newAttendeeType
    ));

3) Обновить событие

Отправьте запрос application/json, включив в тело расширенный массив участников:

PATCH https://outlook.office.com/api/{version}/users/{eventauthor_mail}/events/{event_id}

Есть ли способ сделать это лучше? Я нахожу немного громоздким, что мне приходится загружать весь список участников, добавлять в него нового участника, а затем загружать весь (расширенный) список обратно. Мне это не кажется лучшей практикой...

Заранее спасибо за совет!


person Terje Andersen    schedule 16.11.2015    source источник


Ответы (1)


Вам нужно вызвать Обновить событие и добавить нового участника в список участников. Как только вы добавите этих участников, объект будет обновлен добавленным участником.

Обновить URL-адрес события: https://msdn.microsoft.com/office/office365/APi/complex-types-for-mail-contacts-calendar#EventResource

В теле запроса обновите список участников, так как это свойство с возможностью записи: https://msdn.microsoft.com/office/office365/APi/complex-types-for-mail-contacts-calendar.#EventResource

person Mostafa    schedule 16.11.2015
comment
Допустим, у меня есть мероприятие, созданное почтовым ящиком[email protected], с 500 исполнителями. Теперь я хочу добавить [email protected] в список уполномоченных. В теле запроса могу ли я просто добавить [email protected] в список участников, или массив, который я отправляю, должен содержать всех теперь 501 правопреемников? - person Terje Andersen; 16.11.2015
comment
Просто добавьте это письмо в список участников. - person Mostafa; 17.11.2015