findMeetingTimes没有返回繁忙的时段," minimumAttendeePercentage"没有效果

时间:2018-03-30 00:24:51

标签: json microsoft-graph outlook-restapi

我打电话给/v1.0/me/findMeetingTimes来检查用户'可用性。

以下是示例请求:

{
  "attendees": [
    {
      "type": "Required",
      "emailAddress": {
        "name": "abc",
        "address": "somebody@omni.com"
      }
    }
  ],
  "minimumAttendeePercentage": 0.0,
  "timeConstraint": {
    "activityDomain":"unrestricted",
    "timeslots": [
      {
        "start": {
          "dateTime": "2018-03-30T15:00:00Z",
          "timeZone": "UTC"
        },
        "end": {
          "dateTime": "2018-03-30T16:00:00Z",
          "timeZone": "UTC"
        }
      }
    ]
  },
  "isOrganizerOptional": true
}

我安排了与2018-03-30T15:00:00Z2018-03-30T16:00:00Z的用户会面。在用户接受会议之前,使用相同的请求,API在tentative中返回了attendeeAvailability可用性的时间段。

如果我将minimumAttendeePercentage的值指定为90100,则API仍会返回相同的响应(暂定可用性)。

用户接受后,响应变为

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.meetingTimeSuggestionsResult",
    "emptySuggestionsReason": "Unknown",
    "meetingTimeSuggestions": []
}

无论我在请求中指定的minimumAttendeePercentage值,响应始终相同。看起来没有使用minimumAttendeePercentage,API始终将其视为50,这是默认设置。

1 个答案:

答案 0 :(得分:0)

目前,标记为Tentative的会议被视为Busy

这里的一个小背景有助于解释为什么会这样。 /findMeetingTimes的核心是尝试返回多个与会者的潜在时段列表。为此,需要确定给定用户的给定插槽是“空闲”还是“忙”。如果它确定用户“免费”的时间,则它返回该时隙。

当遇到标记为Tentative的广告位时,它无法最终确定该广告是否为“免费”与“忙碌”。根据定义,暂定会议是用户尚未完全承诺的会议。会议状态相当于“我将参加,除非有更好的事情发生,然后我不会”。

由于/findMeetingTimes核心作业是返回会议时间列表建议,因此为了编译列表,它会将Tentative视为Free。这使您可以在应用程序的上下文中处理您希望如何处理Tentative的方式。