Calendar 无法使用Office365日历API获取会议室的所有繁忙时间

Calendar 无法使用Office365日历API获取会议室的所有繁忙时间,calendar,office365,office365api,outlook-restapi,office365-restapi,Calendar,Office365,Office365api,Outlook Restapi,Office365 Restapi,正在尝试获取日历事件,以便允许用户选择与会者和会议室可用的会议时间 我们正在使用Outlook日历REST API v2-findMeetingTimes: 请求返回几乎所有的事件。 由于某些原因,响应中不包括由执行请求的用户创建的事件。这意味着会议室或与会者似乎是免费的,即使他们的日历上有活动 下面是一个示例请求,其中只有会议室作为与会者。在为会议室和用户请求事件时,我们会看到相同的问题行为 https://outlook.office.com/api/v2.0/users('user@co

正在尝试获取日历事件,以便允许用户选择与会者和会议室可用的会议时间

我们正在使用Outlook日历REST API v2-findMeetingTimes:

请求返回几乎所有的事件。 由于某些原因,响应中不包括由执行请求的用户创建的事件。这意味着会议室或与会者似乎是免费的,即使他们的日历上有活动

下面是一个示例请求,其中只有会议室作为与会者。在为会议室和用户请求事件时,我们会看到相同的问题行为

https://outlook.office.com/api/v2.0/users('user@companyname.onmicrosoft.com')/findmeetingtimes

{
    "Attendees": [{
        "Type": "Required",
        "EmailAddress": {
            "Name": "Palo Alto meeting room",
            "Address": "paloalto@companyname.onmicrosoft.com"
        }
    }],
    "TimeConstraint": {
        "Timeslots": [{
            "Start": {
                "DateTime": "2017-02-11T22:00:00",
                "TimeZone": "GMT Standard Time"
            },
            "End": {
                "DateTime": "2017-04-29T20:59:59",
                "TimeZone": "GMT Standard Time"
            }
        }]
    },
    "LocationConstraint": {
        "IsRequired": "false",
        "SuggestLocation": "false",
        "Locations": [{
            "ResolveAvailability": "false",
            "DisplayName": "Palo Alto meeting room",
            "LocationEmailAddress": "paloalto@companyname.onmicrosoft.com"
        }]
    },
    "MinimumAttendeePercentage": "0",
    "MaxCandidates": "1000",
    "ReturnSuggestionReasons": "true"
}

任何帮助都将不胜感激。

好的,澄清一下,这是我一开始错过的关键点:您遇到的问题是,通过身份验证的用户使用会议室作为地点预订的约会不会导致条目出现在FindMeetingTimes响应中。起初我以为你说它是免费的

这是正确的行为。FindMeetingTimes并不意味着返回忙/闲结果的详尽列表。相反,这是为了找到一个潜在的会面时间!该列表基于组织者、身份验证用户和指定与会者的可用性。因为组织者和房间都很忙,因为组织者已经在房间里预订了约会,所以时间段甚至没有显示出来。当您以其他用户的身份发出请求时,他们是组织者,因为他们当时是空闲的,所以插槽将作为可能的时间显示


所以我可能误解了你的意图,但这应该对你有用。只要你只是把返回的时间作为可能,就没有可能发生冲突。

我无法在会议室重现这种行为,所以我想这里可能缺少一个细节。用户如何在会议室日历上创建活动?为了清楚起见:我和我的用户登录到OWA,在我的日历上创建了一个太平洋标准时间上午10点到上午11点的活动,并添加了conf-room作为位置。我从会议室日历上拿到了录取通知书。然后,我作为同一个用户提出了API请求,时间限制在同一天的上午9点到下午12点之间。正如预期的那样,我在上午10点到11点之间没有得到任何可用的时段。@JasonJohnston感谢您调查此事!我会澄清的。当另一个用户以conf room作为位置创建事件时,事件的时间返回为busy。但是,当创建活动的同一用户请求会议室的可用性时,它不会返回为“忙”或“闲”,而是丢失。我们希望显示房间忙时,此信息丢失。希望清楚。是的,甚至更重要的是,即使用户为conf-room创建了一个包含其他与会者的事件,并且用户当时是空闲的,conf-room也不会显示为空闲或忙碌,只是丢失了。这种行为令人困惑,因为它只发生在这种特殊情况下,而且有些令人失望,因为如果它在这种情况下返回繁忙事件,API也可以让我们显示繁忙时间,从而实现更丰富的功能。在任何情况下,我都理解API仅用于显示空闲时间。非常感谢你的帮助!