I have an MS Teams app that has full onlineMeeting and Call read/write app access.
when provided with a joinUrl to join an ongoing meeting, the bot is able to join ONLY if the provided joinUrl is the one from the organizer (e.g. the Oid at the end of the joinUrl is the organizer’s id). If any other Oid is provided, the bot seems to join with no errors, but it doesn’t show up in the call.
The problem is that the organizer might not be the one inviting the bot (they might not even be on the call!), so the bot would either need to join with the invitee’s link (which contains their Oid), or it needs to find the meeting info by calling the Graph API. However, calling
https://graph.microsoft.com/v1.0/users/{not-organizer-user-id}/onlineMeetings?$filter=JoinWebUrl%20eq%20’https://teams.microsoft.com/l/meetup-join/19:meeting_OGJjOWU1WzYtAzk5NS00NjU5LTlmODUtNTTjNjZiMWRhOWQ0@thread.v2/0?context={“Tid”:”3d93c85e-34b3-41a0-ab9f-f0218488c7af”,”Oid”:”{not-organizer-user-id}”}’
(can be url-encoded, but doesn’t make a difference)
returns ‘meeting not found’.
However, if I make the same call for a meeting where the user_id is the organizer’s, the meeting info is retrieved.
This leaves no clear path of getting the meeting info from Graph API if the organizer is not known, even though the app has the correct permissions.
Is there a clean way to either:
- Allow the bot join using any user’s joinUrl
- Obtain the meeting info by using any user’s id in the call?