【问题标题】:Response 400 on Microsoft Graph - Create calendar event: Property emailAddress in payload has a value that does not match schemaMicrosoft Graph 上的响应 400 - 创建日历事件:有效负载中的属性 emailAddress 具有与架构不匹配的值
【发布时间】:2019-05-17 17:17:01
【问题描述】:

我正在通过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"
    }
}

【问题讨论】:

  • organizer.get('email') 有一个有效的电子邮件地址

标签: microsoft-graph-api microsoft-graph-calendar


【解决方案1】:

organizer 属性会自动设置创建事件的日历的所有者。它不是您可以设置的属性。如果您查看示例,您会看到organizer 仅显示在响应中,而不是请求中。

【讨论】:

    【解决方案2】:

    您不能在 POST 正文中设置组织者。

    如果您使用的是/me/calendars/{id}/events,那么登录的用户就是组织者 (me)。

    如果您使用/users/{id | userPrincipalName}/calendars/{id}/events,则将组织者设置为{id | userPrincipalName}(例如使用应用程序权限应用程序)

    例如:/users/Guilherme@mail.com/calendars/{id}/events。主办方:Guilherme@mail.com

    在您提供Graph docs for Create Event 的链接中,您有请求示例(不是响应)

    【讨论】:

      猜你喜欢
      • 2022-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-17
      相关资源
      最近更新 更多