SPFX 使用 Graph API 获取 Microsoft Outlook 房间事件

问题描述 投票:0回答:1

我正在构建一个 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);
      })
      
      ;
    });
 },[]);
reactjs sharepoint microsoft-graph-api office365 spfx
1个回答
0
投票

我会使用

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'
© www.soinside.com 2019 - 2024. All rights reserved.