0

사용자가 참석자와 회의실을 사용할 수있는 회의 시간을 선택할 수 있도록 일정 이벤트를 가져 오려고합니다.Office365 캘린더 API를 사용하여 회의실의 모든 통화 중 시간을 가져올 수 없습니다.

우리는 아웃룩 달력의 REST API v2를 사용하고 - findMeetingTimes : https://msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations#FindMeetingTimes

요청이 사건의 거의 전부를 반환합니다. 어떤 이유로 인해 요청을 실행하는 사용자가 만든 이벤트는 응답에 포함되지 않습니다. 즉, 회의실이나 참석자는 일정에 이벤트가 있어도 무료 인 것처럼 보입니다.

다음은 참석자로 만 회의실이있는 샘플 요청입니다. 회의실과 사용자 모두에게 이벤트를 요청할 때도 동일한 문제가 발생합니다.

https://outlook.office.com/api/v2.0/users('[email protected]')/findmeetingtimes 

{ 
    "Attendees": [{ 
     "Type": "Required", 
     "EmailAddress": { 
      "Name": "Palo Alto meeting room", 
      "Address": "[email protected]" 
     } 
    }], 
    "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": "[email protected]" 
     }] 
    }, 
    "MinimumAttendeePercentage": "0", 
    "MaxCandidates": "1000", 
    "ReturnSuggestionReasons": "true" 
} 

어떤 도움을 주시면 감사하겠습니다.

+0

회의실에서이 동작을 재현 할 수 없어 여기에 세부 사항이 누락되었을 수 있습니다. 사용자가 회의실 달력에서 이벤트를 만드는 방법은 무엇입니까? 명확성을 위해 : 사용자와 함께 OWA에 로그인하고 내 캘린더 (오전 10 시부 터 오전 11 시까 지)에 일정을 만들고 위치로 수납 공간을 추가했습니다. 비밀 회의실 달력에서 수락을 되찾았습니다. 그런 다음 같은 날에 오전 9 시부 터 오후 12 시까 지 내 시간 제한으로 동일한 사용자로 API 요청을 작성했습니다. 예상대로 오전 10 시부 터 오전 11시 사이에 사용할 수있는 슬롯을 얻지 못했습니다. –

+0

@JasonJohnston이 문제를 조사해 주셔서 감사합니다! 나는 분명히 할 것이다. 다른 사용자가 conf 룸을 위치로 사용하여 이벤트를 만들면 이벤트 시간이 사용 중으로 반환됩니다. 그러나 이벤트를 만든 동일한 사용자가 회의실의 가용성을 요청하면 약속 있음/없음으로 반환되지 않으며 방금 누락되었습니다. 방이 바쁠 때이 정보가 누락 된 경우 표시하고 싶습니다. 희망은 분명하다. – user2899845

답변

1

좋아, 명확히하기 위해 내가 처음에 놓친 핵심 포인트입니다 : 당신이 가지고있는 문제는 인증 된 사용자가 회의실을 위치로 사용하여 예약 한 약속이 항목을 생성하지 않는다는 것입니다. 응답 FindMeetingTimes에 표시됩니다. (처음에는 Free으로 표시되었다고 말하고 있다고 생각했습니다.)

이것은 올바른 동작입니다. FindMeetingTimes은 약속 있음/없음 결과의 전체 목록을 반환하지 않습니다. 오히려 잠재적 인 회의 시간을 찾는 것입니다! 목록은 이끌이 (인증 된 사용자) 및 지정된 참석자의 사용 가능성을 기반으로합니다. 주최자와 회의실이 모두 사용 중이므로 (주최자가 이미 회의실에 예약 된 약속을 가지고 있기 때문에), 시간대는 표시되지 않습니다. 요청을 다른 사용자로 만들면 주최자가되며 그 당시에는 사용 가능하지 않으므로 슬롯이 가능한 시간으로 표시됩니다.

나는 당신이하려는 일에 오해 할 수도 있지만 이것은 당신을 위해 일해야합니다. 가능성을 되찾은 시대를 제시하는 한 갈등의 가능성은 없습니다.

+0

맞고 훨씬 더 그렇습니다. 사용자가 다른 참석자가 포함 된 conf 룸에 대한 이벤트를 만들었고 그 시간에 해당 사용자가 무료 인 경우에도 conf 룸은 무료 또는 비지로 표시되지 않습니다. 이 동작은이 특별한 경우에만 발생하기 때문에 혼동스럽고 다소 바빴습니다.이 경우 바쁜 이벤트를 반환하는 경우 API를 사용하면 BUSY 시간도 표시 할 수 있으므로 더 풍부한 기능을 사용할 수 있습니다. 어쨌든, 나는 API가 자유 시간만을 제시하기위한 것이라는 것을 이해합니다. 도와 줘서 고마워! – user2899845