Добавление участника с помощью API отдыха Календаря Outlook удаляет старых участников

Я использую API календаря отдыха Outlook. При создании мероприятия участник успешно добавлен.

Позже, если я хочу обновить событие и добавить еще одного участника, я использую PATCH. Но он удаляет любого предыдущего участника этого события.

URL для создания события

POST https://outlook.office.com/api/v2.0/me/events

Тело парам

{
  "Subject": "Discuss the Calendar REST API 2",
  "Body": {
    "ContentType": "HTML",
    "Content": "I think it will meet our requirements!"
  },
  "Start": {
      "DateTime": "2017-04-25T18:00:00",
      "TimeZone": "Asia/Kolkata"
  },
  "End": {
      "DateTime": "2017-04-25T19:00:00",
      "TimeZone": "Asia/Kolkata"
  },
  "Attendees": [
    {
      "EmailAddress": {
        "Address": "abc@xyz.com",
        "Name": "ABC"
      },
      "Type": "Required"
    }
  ]
}

URL для обновления события

PATCH https://outlook.office.com/api/v2.0/me/events/{eventId}

Тело парам

{
  "Attendees": [
    {
      "EmailAddress": {
        "Address": "def@xyz.com",
        "Name": "def"
      },
      "Type": "Required"
    }
 ]
}

После выполнения этого предыдущий участник "abc@xyz.com" удаляется и получает письмо об отмене события, а новый участник "def@xyz.com" добавляется.

Пожалуйста, помогите мне решить эту проблему.

1 ответ

Решение

Да, это ожидаемое поведение. Если вы используете PATCH api, вам нужно указать список участников, которых вы добавили ранее. В противном случае он думает, что вы удалили их. Поэтому, когда вы используете API GET (для получения события), сохраните список участников и добавьте или удалите его из этого списка, а затем отправьте его с помощью вызова PATCH.

Другие вопросы по тегам