Office365 REST API - вложения событий календаря не видны получателям - PullRequest
0 голосов
/ 06 июня 2018

Конечная точка add вложение кажется глючной.Файлы, прикрепленные к календарному событию , не видны получателям календаря.Вложения видны создателю события.Мой код работал в течение нескольких месяцев до недавнего времени, что заставляет меня думать, что это регрессия.

Шаги для воспроизведения

  1. Должно быть два пользователя - создатель и получатель.
  2. Создать событие с помощью https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events
  3. Присоединить файл к событию с помощью https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events/{eventId}/attachments
  4. Перейти к веб-интерфейсу Office 365 в качестве создателя.Событие выглядит хорошо и включает в себя вложение.
  5. Запросите API-интерфейс графа Microsoft в качестве создателя.Событие выглядит хорошо.hasAttachments - это true, и перечисление вложений через API работает должным образом.
  6. Перейдите к веб-интерфейсу Office 365 в качестве получателя.В событии отсутствует вложение (все остальное в событии является точным).
  7. Запросите API графа Microsoft в качестве получателя.hasAttachments - это false, и вы не можете перечислить вложения с помощью API Graph.Чтобы получить идентификатор события получателя, я запросил конечную точку /calendarView.Он возвращает идентификатор события, отличный от события на шаге 4, но остальная часть объекта совпадает (iCalUId, subject, время начала / окончания и т. Д.) ... за исключением hasAttachments.

Попытки исправления

Я пытался создать событие и прикрепить файл через конечные точки /users/{userId} вместо конечных точек /me с теми же результатами.

Я также пробовал добавить вложение бета-версииконечной точке, но получил следующую ошибку:

{
  "error": {
    "code": "NavigationNotSupported",
    "message": "Recursive navigation is not allowed after property 'Events' according to the entity schema.",
    "innerError": {
      "request-id": “{uuid}”,
      "date": "2018-06-06T06:28:47"
    }
  }
}

1 Ответ

0 голосов
/ 07 июня 2018

Временное решение Марка устраняет проблему - добавьте участников после вложений.Рабочий процесс выглядит следующим образом:

  1. Создание события (исключая участников) через POST для https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events.
  2. Присоединение файла к событию через POST для https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events/{eventId}/attachments
  3. Обновите событие, начиная с шага 1, с участниками через PATCH до https://graph.microsoft.com/v1.0/me/calendars/{calendarId}/events/{eventId}

Несколько дополнительных запросов, но он выполняет свою работу.

...