David Gardiner
David Gardiner

Reputation: 17166

Create an online event using Microsoft Graph that links to an existing Teams meeting

I know it is possible to create an online event through Microsoft Graph. What I want to do is create an event, mark it as online, but point it to an existing Microsoft Teams meeting, not create a new one.

I've tried settings IsOnlineMeeting and OnlineMeetingProvider, OnlineMeetingUrl and OnlineMeeting (with ConferenceId and JoinUrl), but when the request is POSTed, the response comes back with none of those set, and the meeting appears as just a regular non-online event.

Is it possible to do this?

Upvotes: 2

Views: 546

Answers (2)

user27604738
user27604738

Reputation: 1

maybe a little bit late but i found that by updating meeting blob from the body it will change the Online Meeting associated with the Event, for me my issue was I created an Event as online Meeting , but the meeting generated didn't have any of my requested Parameter

So i create the online meeting and POST it , returning me the URL , id and PassCode.

then i post the Event with IsOnlineMeeting as true, filling the Body of the Event with the correct field.

By Updating the Body of the Event with the Url of your meeting it will also update onlineMeeting.joinUrl , as if you replaced it.

Upvotes: 0

Joey Adams
Joey Adams

Reputation: 43380

It's possible to make an event joinable in Teams using extended properties (Event.SingleValueExtendedProperties), though it's not officially supported as far as I know.

These extended properties are the main ones involved, but there may be more:

String {00020329-0000-0000-c000-000000000046} Name SkypeTeamsMeetingUrl
String {00020329-0000-0000-c000-000000000046} Name OnlineMeetingConfLink
String {00020329-0000-0000-c000-000000000046} Name SkypeTeamsMeetingETag
String {00020329-0000-0000-c000-000000000046} Name SchedulingServiceUpdateUrl
String {00020329-0000-0000-c000-000000000046} Name SchedulingServiceMeetingOptionsUrl
String {00020329-0000-0000-c000-000000000046} Name SkypeTeamsProperties

The value for SkypeTeamsMeetingUrl is the same as onlineMeeting.joinUrl. The remaining properties have the same information formatted differently:

  • O365 tenant ID
  • Azure AD object ID of the user (oid)
  • Online meeting thread ID

Example of what values these properties have (SkypeTeamsMeetingETag is blank):

Tenant ID: c825445b-b4dc-48b1-9455-2756e82f4ed1
User oid:  73a26776-6920-4f4d-8192-5b89da5868e7
Thread ID: 19:meeting_ZWMwODM1YzYtZTA5NS00MTc2LTlkMjgtOWM3NTE4OTZiNjA1@thread.v2

Id: String {00020329-0000-0000-c000-000000000046} Name SkypeTeamsMeetingUrl
Value: https://teams.microsoft.com/l/meetup-join/19%3ameeting_ZWMwODM1YzYtZTA5NS00MTc2LTlkMjgtOWM3NTE4OTZiNjA1%40thread.v2/0?context=%7b%22Tid%22%3a%22c825445b-b4dc-48b1-9455-2756e82f4ed1%22%2c%22Oid%22%3a%2273a26776-6920-4f4d-8192-5b89da5868e7%22%7d

Id: String {00020329-0000-0000-c000-000000000046} Name OnlineMeetingConfLink
Value: conf:sip:[email protected];gruu;opaque=app:conf:focus:id:teams:2:0!19:meeting_ZWMwODM1YzYtZTA5NS00MTc2LTlkMjgtOWM3NTE4OTZiNjA1-thread.v2!73a2677669204f4d81925b89da5868e7!c825445bb4dc48b194552756e82f4ed1

Id: String {00020329-0000-0000-c000-000000000046} Name SkypeTeamsMeetingETag
Value: 

Id: String {00020329-0000-0000-c000-000000000046} Name SchedulingServiceUpdateUrl
Value: https://api.scheduler.teams.microsoft.com/teams/c825445b-b4dc-48b1-9455-2756e82f4ed1/73a26776-6920-4f4d-8192-5b89da5868e7/19_meeting_ZWMwODM1YzYtZTA5NS00MTc2LTlkMjgtOWM3NTE4OTZiNjA1@thread.v2/0

Id: String {00020329-0000-0000-c000-000000000046} Name SchedulingServiceMeetingOptionsUrl
Value: https://teams.microsoft.com/meetingOptions/?organizerId=73a26776-6920-4f4d-8192-5b89da5868e7&tenantId=c825445b-b4dc-48b1-9455-2756e82f4ed1&threadId=19_meeting_ZWMwODM1YzYtZTA5NS00MTc2LTlkMjgtOWM3NTE4OTZiNjA1@thread.v2&messageId=0&language=en-US

Id: String {00020329-0000-0000-c000-000000000046} Name SkypeTeamsProperties
Value: {"cid":"19:meeting_ZWMwODM1YzYtZTA5NS00MTc2LTlkMjgtOWM3NTE4OTZiNjA1@thread.v2","private":true,"type":0,"mid":0,"rid":0,"uid":null}

Upvotes: 1

Related Questions