【问题标题】:Calendar Access using Graph API使用 Graph API 访问日历
【发布时间】:2020-11-07 14:07:16
【问题描述】:

我们有一个应用程序供用户从门户预订/编辑/取消房间邮箱会议。

因此用户应该能够在房间邮箱中创建日历事件,并且所有参与者都应该收到会议邀请

能否请您告知除“Calendars.ReadWrite”之外的 Graph API 需要什么权限

【问题讨论】:

  • 根据public document,除了Calendar.ReadWrite之外,没有其他权限可以创建事件。

标签: microsoft-graph-api office365 exchange-server office365api


【解决方案1】:

根据document关于创建在线会议,我尝试调用该api,它与Calendars.ReadWrite权限一起使用,这是详细信息。

  1. 创建 Azure 广告应用并添加 api 权限
  2. 获取access token,请注意我只是将ReadWrite 设置为范围。
  3. 按照上面的文档调用api会得到成功响应,你可以打开outlook,在日历中发现会议已经创建。

这是我的网址和参数:

Post:https://graph.microsoft.com/v1.0/me/events
Authorization:Bearer <access token>
Prefer:outlook.timezone="Pacific Standard Time"
Content-Type:application/json
body:{
  "subject": "Prep for customer meeting",
  "body": {
    "contentType": "HTML",
    "content": "Does this time work for you?"
  },
  "start": {
    "dateTime": "2020-11-20T13:00:00",
    "timeZone": "Pacific Standard Time"
  },
  "end": {
    "dateTime": "2020-11-20T14:00:00",
    "timeZone": "Pacific Standard Time"
  },
  "location":{
    "displayName":"Cordova conference room"
  },
  "attendees": [
    {
      "emailAddress": {
        "address":"AdeleV@contoso.OnMicrosoft.com",
        "name": "Adele Vance"
      },
      "type": "required"
    }
  ],
  "allowNewTimeProposals": true,
  "isOnlineMeeting": true,
  "onlineMeetingProvider": "teamsForBusiness"
}

【讨论】:

  • 谢谢TInywa,您检查是否所有与会者都收到了会议邀请?
  • 是的,我尝试在参数中添加一些其他邮箱地址,与会者都收到了邀请,除了那些没有日历功能的人。
  • graph.microsoft.com/v1.0/me/events 似乎您正在从日历中发送会议邀请。就我而言,我没有传递用户凭据。我可以在任何人的日历中创建活动吗?
  • 恐怕不行。我尝试使用 api,但是当我将 url 更改为 'graph.microsoft.com/v1.0/users{id | 时,我无法在其他人的日历中创建事件。用户主体名称}/事件'。另一方面,如果使用我上面的方式,与会者也会在他们的日历中收到通知。可能你对参会者无法绕过大厅感到疑惑,我现在正在研究这个案例,建议在metion邮件中设置会议配置或者修改微软团队管理中心让所有人都可以绕过大厅。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-13
  • 1970-01-01
  • 2015-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多