Skip to content

Support for meeting APIs #5893

@clearab

Description

@clearab

We'll need to support additional meeting APIs and events, and some schema changes to the channelData object returned from Teams when the bot is operating in a meeting context. The first of these is the GetParticipants API which will allow bot developers to retrieve a TeamsChannelAccount object with the memberRole field added to determine the individual's role in the meeting (presenter,

GetParticipant API:

Request

GET /v1/meetings/{meetingId}/participants/{participantId}?tenantId={tenantId}

Response

{
  "user":
  {
      "id": "29:1JasdfPAX9asdfGxhVasdfx_asdf-gG8Z-X03306asdf9p-xMTEbDXsT6KH7-0kkTS8cD-asdfsoV6asdf6_aYw",
      "aadObjectId": "asdfbad0-asdf-424a-asdf-20fb051f3c1a",
      "name": "Leon Smith",
      "givenName": "Leon",
      "surname": "Smith",
      "email": "[email protected]",
      "userPrincipalName": "[email protected]",
      "tenantId": "asdf88bf-asdf-41af-asdf-asdfd0asdf47",
  },
  "meeting":
  {
      "role ": "Presenter",
      "inMeeting":true
  },
  "conversation":
  {
      "id": "<conversation id>"
  }
}

SDK Support

We'll need to create support for both sending the request above, and serializing the response.

Request

For the request, we'll want to model support similar to the Teams Getmember functionality, so something like:

await TeamsInfo.GetMeetingParticipantAsync(turnContext, meetingId, participantId, cancellationToken);

Response

For the response, I propose creating a new object derived from TeamsChannelAccount that contains the two additional fields - conversation and meetingRole.

Failure responses

The failure responses are not changed from similar APIs, and should not require any special consideration.

Tracking

Dotnet SDK Issue

  • PR
  • Merged

Javascript SDK Issue

  • PR
  • Merged

Java SDK Issue

  • PR
  • Merged

Python SDK Issue

  • PR
  • Merged

Metadata

Metadata

Assignees

Labels

Area: TeamsThe issue is related to Teams supportP0Must Fix. Release-blocker

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions