Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 4, 2025

Port of teams.ts#409. Teams uses different account schemas depending on the API—conversation.members and meeting participant APIs return additional Teams-specific fields that the base Account type doesn't capture.

Changes

  • New TeamsChannelAccount class extending Account with:

    • GivenName, Surname, Email, UserPrincipalName, TenantId
  • Updated return types:

    • MemberClient.GetAsync() / GetByIdAsync()TeamsChannelAccount
    • Meeting.OrganizerTeamsChannelAccount
    • MeetingParticipant.UserTeamsChannelAccount
    • MeetingParticipantJoinActivity / MeetingParticipantLeaveActivity member user → TeamsChannelAccount

Usage

var members = await memberClient.GetAsync(conversationId);
// Now returns List<TeamsChannelAccount> with access to:
var email = members[0].Email;
var upn = members[0].UserPrincipalName;
var givenName = members[0].GivenName;

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • token.botframework.com
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/teams.net/teams.net/Tests/Microsoft.Teams.Apps.Tests/bin/Debug/net9.0/Microsoft.Teams.Apps.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/teams.net/teams.net/Tests/Microsoft.Teams.Apps.Tests/bin/Debug/net9.0/Microsoft.Teams.Apps.Tests.deps.json /home/REDACTED/work/teams.net/teams.net/Tests/Microsoft.Teams.Apps.Tests/bin/Debug/net9.0/testhost.dll --port 35425 --endpoint 127.0.0.1:035425 --role client --parentprocessid 4684 --telemetryoptedin false (dns block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/teams.net/teams.net/Tests/Microsoft.Teams.Apps.Tests/bin/Debug/net9.0/Microsoft.Teams.Apps.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/teams.net/teams.net/Tests/Microsoft.Teams.Apps.Tests/bin/Debug/net9.0/Microsoft.Teams.Apps.Tests.deps.json /home/REDACTED/work/teams.net/teams.net/Tests/Microsoft.Teams.Apps.Tests/bin/Debug/net9.0/testhost.dll --port 38091 --endpoint 127.0.0.1:038091 --role client --parentprocessid 5037 --telemetryoptedin false (dns block)
    • Triggering command: /usr/share/dotnet/dotnet /usr/share/dotnet/dotnet exec --runtimeconfig /home/REDACTED/work/teams.net/teams.net/Tests/Microsoft.Teams.Apps.Tests/bin/Debug/net9.0/Microsoft.Teams.Apps.Tests.runtimeconfig.json --depsfile /home/REDACTED/work/teams.net/teams.net/Tests/Microsoft.Teams.Apps.Tests/bin/Debug/net9.0/Microsoft.Teams.Apps.Tests.deps.json /home/REDACTED/work/teams.net/teams.net/Tests/Microsoft.Teams.Apps.Tests/bin/Debug/net9.0/testhost.dll --port 41695 --endpoint 127.0.0.1:041695 --role client --parentprocessid 6893 --telemetryoptedin false (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

…ccount

Port changes from microsoft/teams.ts#409:
- Add TeamsChannelAccount class extending Account with Teams-specific properties
  (givenName, surname, email, userPrincipalName, tenantId)
- Update MemberClient.GetAsync() and GetByIdAsync() to return TeamsChannelAccount
- Update Meeting.Organizer to use TeamsChannelAccount
- Update MeetingParticipant.User to use TeamsChannelAccount
- Update MeetingParticipantJoinActivity and MeetingParticipantLeaveActivity
  Member.User to use TeamsChannelAccount
- Update corresponding unit tests to use TeamsChannelAccount

Co-authored-by: heyitsaamir <[email protected]>
Copilot AI changed the title [WIP] Port similar changes from PR 409 to our repository Add TeamsChannelAccount and update member/meeting APIs to use it Dec 4, 2025
Copilot AI requested a review from heyitsaamir December 4, 2025 17:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants