Aug 14 2023 11:32 PM
Hello,
I hope this message finds you well. I am relatively new to the M365 Graph API, and I apologize in advance if any of my terminologies are incorrect. I would appreciate your guidance and understanding.
I have successfully set up two meeting rooms (for example, email address removed for privacy reasons and email address removed for privacy reasons) using local Exchange.
These meeting room resources exist in our local Active Directory, and I can correctly book appointments for these rooms in the local Exchange environment.
However, after syncing our local AD to the Microsoft 365 Admin Center via AD Connect, I noticed that both room1 and room2 are listed under "Active Users" and not in the "Resources" section within the "Rooms & Equipment" list.
Here are the steps I've followed: (the following information is provided as an example)
Step 1: Using the endpoint https://graph.microsoft.com/v1.0/places/microsoft.graph.room I obtained the following resources:
```json
[ { "id": "room1Id", "emailAddress": "email address removed for privacy reasons", "displayName": "room1", "nickname": "room1", "capacity": 10, "bookingType": null }, { "id": "room2Id", "emailAddress": "email address removed for privacy reasons", "displayName": "room2", "nickname": "room2", "capacity": 5, "bookingType": null } ]
```
Step 2: Using the endpoint https://graph.microsoft.com/v1.0/users/email address removed for privacy reasons/calendars/ and searching by emailAddress, I attempted to retrieve events from the respective calendars then I received the error message.
```json
{ "error": { "code": "MailboxNotEnabledForRESTAPI", "message": "The mailbox is either inactive, soft-deleted, or is hosted on-premise." } }
```
However, when I directly create meeting room resources within M365, and these resources are correctly listed under "Rooms & Equipment" in the "Resources" section, I am able to successfully perform both Step 1 and Step 2, and access events normally. I observed that when I create meeting room resources directly within M365, the bookingType is set to "standard". In contrast, meeting room resources synced from our local AD have a bookingType of null. I'm unsure if this might be causing the discrepancy.
Could you kindly clarify whether it is feasible to use the Graph API to access Exchange resources that have been synchronized to M365, despite this difference? If my current approach doesn't resolve this issue, I would greatly appreciate any alternative solutions you could recommend for accessing local Exchange resources using an API.