我正在通过Microsoft Graph创建一个新的日历活动。我正在尝试在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"
}
}
答案 0 :(得分:2)
organizer
属性将自动设置创建事件的日历的所有者。这不是您可以设置的属性。如果查看示例,您会看到organizer
仅显示在响应中,而不显示在请求中。
答案 1 :(得分: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链接中,您有请求示例(非响应)