Response 400 в Microsoft Graph - Создать событие календаря: свойство emailAddress в полезной нагрузке имеет значение, которое не соответствует схеме

Я создаю новое событие календаря через Microsoft Graph. Я пытаюсь вставить информацию об органайзере в график событий календаря.

if organizer.get('email'):
    log('email: ')
    log(organizer.get('email', ''))


eventJson["organizer"] = {
    "emailAddress": {
        "address":str(organizer.get('email', ''))
    }
}

журнал:

2019-05-17T17:05:45.421475+00:00 app[web.1]: ERROR
2019-05-17T17:05:45.421493+00:00 app[web.1]: <Response [400]>
2019-05-17T17:05:45.421501+00:00 app[web.1]: 
{
  "error": {
    "code": "BadRequest",
    "message": "Property emailAddress in payload has a value that does not match schema.",
    "innerError": {
      "request-id": "xxxxxxxxxxxx",
      "date": "2019-05-17T17:05:45"
    }
  }
}

Я уже проверил organizer.get('email') содержание. Кроме того, в некоторых других случаях та же самая структура работала хорошо. Я не знаю, что ожидает схема.

Это пример, который я нашел в документации

"organizer": {
    "emailAddress": {
        "name": "Megan Bowen",
        "address": "MeganB@contoso.OnMicrosoft.com"
    }
}

2 ответа

Решение

organizer Свойство автоматически устанавливается владельцем календаря, в котором было создано событие. Это не свойство, которое вы можете установить. Если вы посмотрите на примеры, вы увидите, что organizer отображается только в ответе, а не в запросе.

Вы не можете установить органайзер в теле POST.

Если вы используете /me/calendars/{id}/events пользователь, вошедший в систему, является организатором (me).

Если вы используете /users/{id | userPrincipalName}/calendars/{id}/events Вы устанавливаете органайзер с {id | userPrincipalName} (например, с приложением permisions app)

Пример: /users/Guilherme@mail.com/calendars/{id}/events, Организатор:Guilherme@mail.com

В ссылке, которую вы предоставили Graph Docs для создания события, у вас есть пример запроса (не ответ)

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