【发布时间】:2020-09-23 18:53:50
【问题描述】:
我正在尝试通过 Powershell 脚本在日历中创建一个事件。它需要将日历事件添加到组织者的日历中,然后添加到与会者列表中。以下是我在请求正文中发送的内容。
{
"subject": "Let's go for lunch",
"IsOrganizer": "true",
"body": {
"contentType": "HTML",
"content": "Does noon work for you?"
},
"start": {
"dateTime": "2020-08-31T12:00:00",
"timeZone": "Pacific Standard Time"
},
"end": {
"dateTime": "2020-08-31T14:00:00",
"timeZone": "Pacific Standard Time"
},
"location":{
"displayName":"Harry's Bar"
},
"attendees": [
{
"emailAddress": {
"address":"attendee1@attendeeadress.com",
"name": "Attendee1"
},
"type": "required",
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
}
},
{
"emailAddress": {
"address":"attendee2@attendeeadress.com",
"name": "Attendee2"
},
"type": "required",
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
}
}
],
"organizer":{
"emailAddress":{
"name":"Specific Calendar",
"address":"calendarname@organizerorganization.onmicrosoft.com"
}
},
"allowNewTimeProposals": true
}
它成功显示在与会者的日历上,但未显示在主要组织者的日历上。谁能告诉我我做错了什么以及如何让这个出现在主要组织者的日历上?
谢谢!
更新 - 这就是我获取用户令牌的方式。
$Body = @{
'client_id' = 'my_client_id'
'scope' = 'https://graph.microsoft.com/.default'
'client_secret' = 'my_client_secret'
'grant_type' = 'password'
'userName' = 'calendarname@organizerorganization.onmicrosoft.com'
'password' = 'password'
}
现在我的理解是这个用户应该被默认设置为活动的组织者。
【问题讨论】:
-
看起来您正在尝试创建一个活动并将组织者作为不同的人。组织者不能由呼叫者定义。请通过这个document。
-
我不是。我的用户是 calendarname@organizerorganization.onmicrosoft.com 所以据我了解,默认情况下应该是组织者?我尝试将该电子邮件添加为与会者,以查看它是否会出现在日历上,但没有。它出现在我提供的其他与会者的日历上。这让我认为这可能是权限问题,而不是我的请求正文中的某些内容...
-
是的,因此,如果您使用 calendarname@organization.onmicrosoft.com 的委派令牌创建活动,则创建该活动的人将是组织者。这里应该是您的 calendarname@organization.onmicrosoft.com。请浏览我分享的上述线程,会给你清晰的图片。
-
我以为我是。我是 Graph API 的新手,所以请原谅我的无知......我已经更新了我原来的问题,以展示我是如何获取用户令牌的。
-
我已经使用邮递员对它进行了测试,使用 ROPC 流和调用
POST https://graph.microsoft.com/v1.0/me/calendar/events的方式相同。请尝试一下,看看是否有帮助。