-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Description
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