Настройка организатора событий с помощью 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.

Надеюсь, это поможет кому-то.

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