Java 了解Microsoft graph/getSchedule Api功能
我正在尝试使用graph/GetScheduleAPI检查会议冲突。然而,我不太了解请求输入字段“availabilityViewInterval”的功能和用法 我的基本要求是传递开始和结束日期时间,并查看资源是否可用(空闲/忙碌)。 虽然我能够在/getScheduleAPI中获得该消息,但不确定请求和响应中的某些字段是否正确Java 了解Microsoft graph/getSchedule Api功能,java,microsoft-graph-api,microsoft-graph-sdks,microsoft-graph-teams,microsoft-graph-calendar,Java,Microsoft Graph Api,Microsoft Graph Sdks,Microsoft Graph Teams,Microsoft Graph Calendar,我正在尝试使用graph/GetScheduleAPI检查会议冲突。然而,我不太了解请求输入字段“availabilityViewInterval”的功能和用法 我的基本要求是传递开始和结束日期时间,并查看资源是否可用(空闲/忙碌)。 虽然我能够在/getScheduleAPI中获得该消息,但不确定请求和响应中的某些字段是否正确 “availabilityViewInterval”:这是一个请求字段,在文档中声明为可选字段,但在使用graph client时,我需要为此传递值它接受从5到1440
ICalendarGetScheduleCollectionPage response = graphClient.users("usrEmailAddress").calendars(calendar.id)
.getSchedule(schedulesList,endTime,startTime,availabilityViewInterval)
.buildRequest()
.post();
下面是我的示例响应(请求中的availabilityViewInterval值为5,但响应availabilityView不同时):
答复2:
**"availabilityView": "00"**,
"scheduleItems": [],
"workingHours": {
"daysOfWeek": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"startTime": "08:00:00.0000000",
"endTime": "17:00:00.0000000",
"timeZone": {
"name": "India Standard Time"
}
答复3:
**"availabilityView": "220000000000"**,
"scheduleItems": [
{
"isPrivate": false,
"status": "busy",
"subject": "Test Meeting again",
"location": "",
"start": {
"dateTime": "2020-06-12T10:58:45.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2020-06-12T11:08:45.0000000",
"timeZone": "UTC"
}
}
],
"workingHours": {
"daysOfWeek": [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday"
],
"startTime": "08:00:00.0000000",
"endTime": "17:00:00.0000000",
"timeZone": {
"name": "India Standard Time"
}
注意:所有请求的开始和结束时间都不同,但availabilityViewInterval字段在所有情况下都是5
我指的是以下Microsoft文档:
请帮助我理解请求中“availabilityViewInterval”和响应中“availabilityView”的意义和用法。
另外,状态值是否仅为“忙/闲”,或者它也可以有任何其他值?
提前感谢医生说:
表示响应中availabilityView中某个时间段的持续时间。默认值为30分钟,最小值为5分钟,最大值为1440分钟。可选
这意味着可用性视图中的时间段大小。看一个例子可能会有所帮助
以下是来自文档的示例请求:
{
"schedules": ["adelev@contoso.onmicrosoft.com", "meganb@contoso.onmicrosoft.com"],
"startTime": {
"dateTime": "2019-03-15T09:00:00",
"timeZone": "Pacific Standard Time"
},
"endTime": {
"dateTime": "2019-03-15T18:00:00",
"timeZone": "Pacific Standard Time"
},
"availabilityViewInterval": 60
}
当availabilityViewInterval
设置为60时,这意味着返回的availabilityView
中的每个数字代表一段60分钟的时间。示例响应显示Megan的值200220010
。使用0=空闲,1=暂定,2=忙碌,我们可以将其解码为:
- 上午9时至10时繁忙
- 上午10时至11时免费
- 上午11时至下午12时免费
- 中午12点至下午1点繁忙
- 下午1点至2点忙
- 下午2点至3点免费
- 下午3点至4点免费
- 下午4点至5点暂定
- 下午5点至6点免费
如果您在将availabilityViewInterval
设置为30的情况下执行相同的请求,您将得到availabilityView
值22000022200001100
,每个数字代表30分钟的时间段。感谢@Jason Johnston的详细解释。现在我觉得这一切都有道理。非常感谢你的努力。谢谢。很高兴能帮忙!如果你不介意,请接受答案,让其他人更容易找到。完成。再次感谢你的帮助。
{
"schedules": ["adelev@contoso.onmicrosoft.com", "meganb@contoso.onmicrosoft.com"],
"startTime": {
"dateTime": "2019-03-15T09:00:00",
"timeZone": "Pacific Standard Time"
},
"endTime": {
"dateTime": "2019-03-15T18:00:00",
"timeZone": "Pacific Standard Time"
},
"availabilityViewInterval": 60
}