Настройка организатора событий с помощью Outlook Calendar REST API
Я использую Outlook REST API для создания событий и отправки их приглашений на основе этой документации
Я проверяю подлинность вошедшего в систему пользователя и отправляю его маркер Bearer через заголовок Authorization запроса и событие в формате json для его содержимого.
Если я устанавливаю "Организатор" для другого пользователя, а не для прошедшего проверку подлинности, а также для свойства "IsOrganizer" значение "false", оно полностью игнорируется и устанавливает текущего вошедшего в систему пользователя в качестве организатора.
Какие-нибудь подсказки того, что могло случиться? Есть ли другой способ сделать это?
Спасибо!
2 ответа
Это правильное поведение. Вы не можете создать событие в календаре пользователя А, но установите органайзер на пользователя Б.
Я публикую это на тот случай, если кто-то еще найдет и нуждается в ответе для этого сценария...
Вы (учетная запись A) можете создать событие календаря как кто-либо другой (учетная запись B) с помощью API Office365 REST, если у учетной записи есть разрешение на отправку в качестве учетной записи другого пользователя.
Вот шаги:
1) Вызовите API Office365 REST следующим образом, где {{{user2email}}} - это пользователь, для которого вы хотите создать событие (адрес электронной почты учетной записи B): https://outlook.office365.com/api/v1.0/users/ {{{user2email}}} / календарь
Это должно вернуть идентификатор пользователя учетной записи B.
2) Передайте свой JSON - ниже приведен пример того, что я использовал во время модульного тестирования:
{
"Subject": "Test - Created using Office365 Calendar REST API should be from Technology Notice",
"IsOrganizer": "False",
"Body": {
"ContentType": "HTML",
"Content": "This is where body copy goes HTML supported"
},
"Start": "2015-12-11T19:00:00Z",
"End": "2015-12-11T20:00:00Z",
"Attendees": [
{
"EmailAddress": {
"Address": "attendee1@yourcompany.com",
"Name": "Attendee One"
},
"Type": "Required"
}
],
"Organizer": {
"EmailAddress": {
"Address": "tnotice@yourcompany.com",
"Name": "Technology Notice"
}
}
}
"Уведомление о технологии" будет тем, кто приглашен в календарь.
3) Используйте идентификатор из шага 2 в своем запросе POST, например: https://outlook.office365.com/api/v1.0/users/ {{{user2email}}} / calendars / {{{ID}} } / events
Примечание. Убедитесь, что вы отправляете запрос POST как учетная запись пользователя, прошедшего проверку подлинности (учетная запись A), которому принадлежит учетная запись почтового ящика / календаря, к которой он фактически принадлежит.
Если все правильно, вы сможете отправить приглашение в календаре, чтобы оно отображалось как исходящее из учетной записи B вместо учетной записи A.
Надеюсь, это поможет кому-то.