我正在构建一个 SPFx 应用程序,我需要从 Outlook 读取房间及其活动,我们公司有 25 个会议室,可用于在 SharePoint 日历中预订活动,我们需要确保房间在 Outlook 中可用,并且在 SharePoint 表单中提交时还可以在 Outlook 中创建事件
我能够使用 SharePoint 上下文并查询 Microsoft Graph API,获取所有房间的列表,如下所示:
const [outlookRooms, setOutlookRooms] = useState<any[]>([]);
React.useEffect(() =>{
const context = props.context;
context.msGraphClientFactory
.getClient('3')
.then((client: MSGraphClientV3): void => {
client
.api('/places/microsoft.graph.room')
.get((response: any, error: any) => {
console.log(response);
console.log(error);
setOutlookRooms(response);
});
});
},[]);
该部分工作正常,但当我尝试获取房间事件时,我收到 404,这是我获取房间事件的代码:
const [roomEvents, setRoomEvents] = useState<any[]>([]);
React.useEffect(() =>{
const context = props.context;
context.msGraphClientFactory
.getClient('3')
.then((client: MSGraphClientV3): void => {
client
.api('/groups/roomid/calendarView?startDateTime=2024-01-01T19:00:00-08:00&endDateTime=2024-06-01T19:00:00.00-08:00')
.get((response: any) => {
setRoomEvents(response.value);
console.log(response);
})
;
});
},[]);
我会使用
emailAddress
而不是房间 ID 并调用 users
端点
/users/{room_email_address}/calendarView?startDateTime=2024-01-01T19:00:00-08:00&endDateTime=2024-06-01T19:00:00.00-08:00'