Sdílet prostřednictvím


Vysvětlení identifikátorů

Sady SDK komunikačních služeb a rozhraní REST API používají typ identifikátoru k identifikaci, s kým komunikuje. Identifikátory například určují, kdo má zavolat nebo kdo odeslal chatovou zprávu.

V závislosti na kontextu se identifikátory zabalí s dalšími vlastnostmi, například uvnitř ChatParticipant v rámci Chat SDK nebo uvnitř RemoteParticipant v rámci Calling SDK.

Tento článek popisuje různé typy identifikátorů a jejich vzhled napříč programovacími jazyky. Získáte také tipy, jak je používat.

Typ CommunicationIdentifier

Existují identity uživatelů, které vytvoříte sami a existují externí identity. Uživatelé a telefonní čísla Microsoft Teams jsou externí identity, které hrají roli ve scénářích interoperability. Každý z těchto různých typů identit má odpovídající identifikátor, který ho představuje. Identifikátor je strukturovaný typ, který nabízí bezpečnost typů a dobře funguje s dokončováním kódu editoru.

Komunikační uživatel

Rozhraní CommunicationUserIdentifier představuje identitu uživatele vytvořenou pomocí sady SDK identity nebo rozhraní REST API. Je to jediný identifikátor, který se používá v případě, že vaše aplikace nepoužívá funkce interoperability nebo telefonie Microsoft Teams.

Základní použití

// at some point you will have created a new user identity in your trusted service
const newUser = await identityClient.createUser();

// and then send newUser.communicationUserId down to your client application
// where you can again create an identifier for the user
const sameUser = { communicationUserId: newUserId };

Reference rozhraní API

CommunicationUserIdentifier

Uživatel Microsoft Teams

Rozhraní MicrosoftTeamsUserIdentifier představuje uživatele Teams s ID objektu uživatele Microsoft Entra. ID objektu uživatele Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK. ID můžete také najít jako oid deklaraci identity v tokenu Microsoft Entra nebo v přístupovém tokenu Microsoft Entra poté, co se uživatel přihlásil a získal token.

Základní použití

// get the Teams user's ID from Graph APIs if only the email is known
const user = await graphClient.api("/users/bob@contoso.com").get();

// create an identifier
const teamsUser = { microsoftTeamsUserId: user.id };

// if you're not operating in the public cloud, you must also pass the right Cloud type.
const gcchTeamsUser = { microsoftTeamsUserId: userId, cloud: "gcch" };

Reference rozhraní API

MicrosoftTeamsUserIdentifier

Telefonní číslo

Rozhraní PhoneNumberIdentifier představuje telefonní číslo. Služba předpokládá, že telefonní čísla jsou formátovaná ve formátu E.164.

Základní použití

// create an identifier
const phoneNumber = { phoneNumber: "+112345556789" };

Reference rozhraní API

PhoneNumberIdentifier

Aplikace Microsoft Teams

Rozhraní MicrosoftTeamsAppIdentifier představuje robota aplikací Teams Voice, jako je fronta volání a automatický telefonický systém s ID objektu robota Microsoft Entra. Aplikace Teams musí být nakonfigurované se zdrojovým účtem. ID objektu robota Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z id vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK.

Základní použití

// Get the Microsoft Teams App's ID from Graph APIs
const users = await graphClient.api("/users")
                    .filter(filterConditions)
                    .select('displayName,id')
                    .get();
//Here we assume that you have a function getBotFromUsers that gets the bot from the returned response
const bot = getBotFromUsers(users);
// Create an identifier
const teamsAppIdentifier = { teamsAppId: bot.id };

// If you're not operating in the public cloud, you must also pass the right Cloud type.
const gcchTeamsAppIdentifier = { teamsAppId: id, cloud: "gcch" };

Reference rozhraní API

MicrosoftTeamsAppIdentifier

Uživatel rozšíření Teams

Rozhraní TeamsExtensionUserIdentifier představuje uživatele Teams, který je povolený pro rozšiřitelnost telefonu v Teams. Vyžaduje TeamsExtensionUserIdentifier ID objektu uživatele Microsoft Entra pro Teams, ID tenanta Microsoft Entra, kde se uživatel nachází, a ID prostředku služby Azure Communication Services. ID objektu uživatele Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z id vlastnosti v odpovědi a ID tenanta Microsoft Entra prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /organization z id vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK. Případně můžete id objektu oid najít jako deklaraci identity a ID tenanta jako tid deklaraci identity v tokenu Microsoft Entra nebo v přístupovém tokenu Microsoft Entra po přihlášení uživatele a získání tokenu.

Základní použití

// get the Teams user's ID from Graph APIs if only the email is known
const user = await graphClient.api("/users/bob@contoso.com").get();

// Get the tenantId from Graph API
const org = await graphClient.api("/organization").get();
const tenantId = org.value[0].id;

//Communication Services Resource ID
const resourceId = "<resource-id-guid>";

// create an identifier
const teamsExtensionUser = { userId: user.id, tenantId: tenantId, resourceId: resourceId };

// if you're not operating in the public cloud, you must also pass the right Cloud type.
const gcchTeamsExtensionUser = { userId: user.id, tenantId: tenantId, resourceId: resourceId, cloud: "gcch" };

Reference rozhraní API

TeamsExtensionUserIdentifier

Neznámý

Rozhraní UnknownIdentifier existuje pro budoucí kontrolu pravopisu a můžete se s ním setkat, když používáte starou verzi sady SDK a je nedávno zaveden nový typ identifikátoru. Jakýkoli neznámý identifikátor služby je deserializován na UnknownIdentifier v rámci SDK.

Základní použití

// create an identifier
const unknownId = { id: "a raw id that originated in the service" };

Reference rozhraní API

UnknownIdentifier

Jak zpracovat základní CommunicationIdentifier rozhraní

Zatímco vytváříte identifikátory pro konkrétní typ, který předáváte do sady SDK, sada SDK vrátí diskriminovanou unii. Je snadné zúžit na konkrétní typ a doporučujeme příkaz switch-case s porovnávání vzorů:

switch (communicationIdentifier.kind)
{
    case "communicationUser":
        // TypeScript has narrowed communicationIdentifier to be a CommunicationUserKind
        console.log(`Communication user: ${communicationIdentifier.communicationUserId}`);
        break;
    case "microsoftTeamsUser":
        // narrowed to MicrosoftTeamsUserKind
        console.log(`Teams user: ${communicationIdentifier.microsoftTeamsUserId}`);
        break;
    case "microsoftTeamsApp":
        // narrowed to MicrosoftTeamsAppIdentifier
        console.log(`Teams app: ${communicationIdentifier.teamsAppId}`);
        break;
    case "phoneNumber":
         // narrowed to PhoneNumberKind
        console.log(`Phone number: ${communicationIdentifier.phoneNumber}`);
        break;
    case "unknown":
         // narrowed to UnknownIdentifierKind
        console.log(`Unknown: ${communicationIdentifier.id}`);
        break;
    default:
        // be careful here whether you want to throw because a new SDK version
        // can introduce new identifier types
        break;
}

Rozhraní identifikátorů jsou navržena tak, abyste nemuseli zadávat kind a tím snížili upovídanost. Diskriminující sjednocení s vlastností kind se používá také pouze při vrácení ze sady SDK. Pokud ale potřebujete přeložit identifikátor na odpovídající typ diskriminující sjednocení, můžete použít tohoto pomocníka:

const identifierKind = getIdentifierKind(identifier); // now you can switch-case on the kind

Reprezentace nezpracovaných ID

Někdy potřebujete serializovat identifikátor na plochý řetězec. Pokud například chcete identifikátor uložit do databázové tabulky nebo ho chcete použít jako parametr adresy URL.

Pro tento účel mají identifikátory jinou reprezentaci s názvem RawId. Identifikátor lze vždy přeložit na odpovídající nezpracované ID a platné nezpracované ID lze vždy převést na identifikátor.

Vzhledem k tomu, že azure-communication-common@2.1.0 sada SDK pomáhá s převodem:

// get an identifier's raw Id
const rawId = getIdentifierRawId(communicationIdentifier);

// create an identifier from a given raw Id
const identifier = createIdentifierFromRawId(rawId);

Neplatné nezpracované ID se v SDK převede na UnknownIdentifier a k ověření dochází pouze na straně služby.

Komunikační uživatel

Představuje CommunicationUserIdentifier identitu uživatele vytvořenou pomocí sady SDK identity nebo rozhraní REST API. Je to jediný identifikátor, který se používá v případě, že vaše aplikace nepoužívá funkce interoperability nebo telefonie Microsoft Teams.

Základní použití

// at some point you will have created a new user identity in your trusted service
CommunicationUserIdentifier newUser = await identityClient.CreateUser();

// and then send newUser.Id down to your client application
// where you can again create an identifier for the user
var sameUser = new CommunicationUserIdentifier(newUserId);

Reference rozhraní API

CommunicationUserIdentifier

Uživatel Microsoft Teams

Znak MicrosoftTeamsUserIdentifier představuje uživatele Teams, který má ID objektu uživatele Microsoft Entra. ID objektu uživatele Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK. Id můžete také najít jako deklaraci identifikace oid v tokenu Microsoft Entra nebo v přístupovém tokenu Microsoft Entra po přihlášení a získání tokenu.

Základní použití

// get the Teams user's ID from Graph APIs if only the email is known
var user = await graphClient.Users["bob@contoso.com"]
    .Request()
    .GetAsync();

// create an identifier
var teamsUser = new MicrosoftTeamsUserIdentifier(user.Id);

// if you're not operating in the public cloud, you must also pass the right Cloud type.
var gcchTeamsUser = new MicrosoftTeamsUserIdentifier(userId: userId, cloud: CommunicationCloudEnvironment.Gcch);

Reference rozhraní API

MicrosoftTeamsUserIdentifier

Telefonní číslo

Tento prvek PhoneNumberIdentifier představuje telefonní číslo. Služba předpokládá, že telefonní čísla jsou formátovaná ve formátu E.164.

Základní použití

// create an identifier
var phoneNumber = new PhoneNumberIdentifier("+112345556789");

Reference rozhraní API

PhoneNumberIdentifier

Aplikace Microsoft Teams

Rozhraní MicrosoftTeamsAppIdentifier představuje robota aplikací Teams Voice, jako je fronta volání a automatický telefonický systém s ID objektu robota Microsoft Entra. Aplikace Teams musí být nakonfigurované se zdrojovým účtem. ID objektu robota Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z id vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK.

Základní použití

// Get the Microsoft Teams App's ID from Graph APIs
var users = await graphClient.Users.GetAsync((requestConfiguration) =>
{
	requestConfiguration.QueryParameters.Select = new string []{ "displayName","id" };
	requestConfiguration.QueryParameters.Filter = filterConditions;
});

// Here we assume that you have a function GetBotFromUsers that gets the bot from the returned response
var bot = GetBotFromUsers(users);

// Create an identifier
var teamsAppIdentifier = new MicrosoftTeamsAppIdentifier(bot.Id);

// If you're not operating in the public cloud, you must also pass the right Cloud type.
var gcchTeamsAppIdentifier = new MicrosoftTeamsAppIdentifier(bot.Id, CommunicationCloudEnvironment.Gcch);

Reference rozhraní API

MicrosoftTeamsAppIdentifier

Uživatel rozšíření Teams

Rozhraní TeamsExtensionUserIdentifier představuje uživatele Teams, který je povolený pro rozšiřitelnost telefonu v Teams. Vyžaduje TeamsExtensionUserIdentifier ID objektu uživatele Microsoft Entra pro uživatele Teams, ID tenanta Microsoft Entra, v rámci kterého se uživatel nachází, a ID prostředku služby Azure Communication Services. ID objektu uživatele Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z id vlastnosti v odpovědi a ID tenanta Microsoft Entra prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /organization z id vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK. Případně můžete id objektu oid najít jako deklaraci identity a ID tenanta jako tid deklaraci identity v tokenu Microsoft Entra nebo v přístupovém tokenu Microsoft Entra po přihlášení uživatele a získání tokenu.

Základní použití

// get the Teams user's ID from Graph APIs if only the email is known
var user = await graphClient.Users["bob@contoso.com"]
    .Request()
    .GetAsync();

// Get the tenantId from Graph API
var organization = await graphClient.Organization
    .Request()
    .GetAsync();

string tenantId = organization.CurrentPage.FirstOrDefault()?.Id;

//Communication Services Resource ID
var resourceId = "<resource-id-guid>";

// create an identifier
var teamsExtensionUser = new TeamsExtensionUserIdentifier(user.Id, tenantId, resourceId);

// if you're not operating in the public cloud, you must also pass the right Cloud type.
var gcchTeamsExtensionUser = new TeamsExtensionUserIdentifier(userId: user.Id, tenantId: tenantId, resourceId: resourceId, cloud: CommunicationCloudEnvironment.Gcch);

Reference rozhraní API

TeamsExtensionUserIdentifier

Neznámý

Existuje UnknownIdentifier pro zajištění budoucí kompatibility a můžete na něj narazit, když používáte starou verzi sady SDK a byl nedávno zaveden nový typ identifikátoru. Jakýkoli neznámý identifikátor služby je deserializován na UnknownIdentifier v rámci SDK.

Základní použití

// create an identifier
var unknown = new UnknownIdentifier("a raw id that originated in the service");

Reference rozhraní API

UnknownIdentifier

Jak zacházet se základní třídou

Zatímco vytváříte identifikátory pro konkrétní typ, který předáváte do sady SDK, sada SDK vrátí CommunicationIdentifier protokol. Přetypování na konkrétní typ je snadné a doporučujeme příkaz switch-case s odpovídajícími vzory:

switch (communicationIdentifier)
{
    case CommunicationUserIdentifier communicationUser:
        Console.WriteLine($"Communication user: {communicationUser.Id}");
        break;
    case MicrosoftTeamsUserIdentifier teamsUser:
        Console.WriteLine($"Teams user: {teamsUser.UserId}");
        break;
    case MicrosoftTeamsAppIdentifier teamsApp:
        Console.WriteLine($"Teams app: {teamsApp.AppId}");
        break;
    case PhoneNumberIdentifier phoneNumber:
        Console.WriteLine($"Phone number: {phoneNumber.PhoneNumber}");
        break;
    case UnknownIdentifier unknown:
        Console.WriteLine($"Unknown: {unknown.Id}");
        break;
    default:
        // be careful here whether you want to throw because a new SDK version
        // can introduce new identifier types
        break;
}

Reprezentace nezpracovaných ID

Někdy potřebujete serializovat identifikátor na plochý řetězec. Pokud například chcete identifikátor uložit do databázové tabulky nebo ho chcete použít jako parametr adresy URL.

Pro tento účel mají identifikátory jinou reprezentaci s názvem RawId. Identifikátor lze vždy přeložit na odpovídající nezpracované ID a platné nezpracované ID lze vždy převést na identifikátor.

Vzhledem k tomu, že Azure.Communication.Common 1.2.0 sada SDK pomáhá s převodem:

// get an identifier's raw Id
string rawId = communicationIdentifier.RawId;

// create an identifier from a given raw Id
CommunicationIdentifier identifier = CommunicationIdentifier.FromRawId(rawId);

Neplatné nezpracované ID se v SDK převede na UnknownIdentifier a k ověření dochází pouze na straně služby.

Komunikační uživatel

Představuje CommunicationUserIdentifier identitu uživatele vytvořenou pomocí sady SDK identity nebo rozhraní REST API. Je to jediný identifikátor, který se používá v případě, že vaše aplikace nepoužívá funkce interoperability nebo telefonie Microsoft Teams.

Základní použití

# at some point you will have created a new user identity in your trusted service
new_user = identity_client.create_user()

# and then send new_user.properties['id'] down to your client application
# where you can again create an identifier for the user
same_user = CommunicationUserIdentifier(new_user_id)

Reference rozhraní API

CommunicationUserIdentifier

Uživatel Microsoft Teams

Znak MicrosoftTeamsUserIdentifier představuje uživatele Teams, který má ID objektu uživatele Microsoft Entra. ID objektu uživatele Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK. Id můžete také najít jako deklaraci identifikace oid v tokenu Microsoft Entra nebo v přístupovém tokenu Microsoft Entra po přihlášení a získání tokenu.

Základní použití

# get the Teams user's ID from Graph APIs if only the email is known
user_id = graph_client.get("/users/bob@contoso.com").json().get("id");

# create an identifier
teams_user = MicrosoftTeamsUserIdentifier(user_id)

# if you're not operating in the public cloud, you must also pass the right Cloud type.
gcch_teams_user = MicrosoftTeamsUserIdentifier(user_id, cloud=CommunicationCloudEnvironment.GCCH)

Reference rozhraní API

MicrosoftTeamsUserIdentifier

Telefonní číslo

Tento prvek PhoneNumberIdentifier představuje telefonní číslo. Služba předpokládá, že telefonní čísla jsou formátovaná ve formátu E.164.

Základní použití

# create an identifier
phone_number = PhoneNumberIdentifier("+112345556789")

Reference rozhraní API

PhoneNumberIdentifier

Aplikace Microsoft Teams

Rozhraní MicrosoftTeamsAppIdentifier představuje robota aplikací Teams Voice, jako je fronta volání a automatický telefonický systém s ID objektu robota Microsoft Entra. Aplikace Teams musí být nakonfigurované se zdrojovým účtem. ID objektu robota Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z id vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK.

Základní použití

# Get the Microsoft Teams App's ID from Graph APIs
users = graph_client.get("/users").json()

# Here we assume that you have a function get_bot_from_users that gets the bot from the returned response
bot = get_bot_from_users(users);

# Create an identifier
teams_app_identifier = MicrosoftTeamsAppIdentifier(app_id=bot.get("id"))

# If you're not operating in the public cloud, you must also pass the right Cloud type.
gcch_teams_app_identifier = MicrosoftTeamsAppIdentifier(
            app_id=bot.get("id"),
            cloud=CommunicationCloudEnvironment.GCCH
        )

Reference rozhraní API

MicrosoftTeamsAppIdentifier

Uživatel rozšíření Teams

Rozhraní TeamsExtensionUserIdentifier představuje uživatele Teams, který je povolený pro rozšiřitelnost telefonu v Teams. Vyžaduje TeamsExtensionUserIdentifier ID objektu uživatele Microsoft Entra Teams, ID tenanta Microsoft Entra, kde uživatel sídlí, a ID zdroje Azure Communication Services. ID objektu uživatele Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z id vlastnosti v odpovědi a ID tenanta Microsoft Entra prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /organization z id vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK. Případně můžete id objektu oid najít jako deklaraci identity a ID tenanta jako tid deklaraci identity v tokenu Microsoft Entra nebo v přístupovém tokenu Microsoft Entra po přihlášení uživatele a získání tokenu.

Základní použití

# get the Teams user's ID from Graph APIs if only the email is known
user_id = graph_client.get("/users/bob@contoso.com").json().get("id");

# get the tenantId from Graph API
tenant_id = graph_client.get("/organization").json()["value"][0]["id"]

# Communication Services Resource ID
resourceId = "<resource-id-guid>"

# create an identifier
teams_user = TeamsExtensionUserIdentifier(user_id, tenant_id, resource_id)

# if you're not operating in the public cloud, you must also pass the right Cloud type
gcch_teams_user = TeamsExtensionUserIdentifier(user_id, tenant_id, resource_id, cloud=CommunicationCloudEnvironment.GCCH)

Reference rozhraní API

TeamsExtensionUserIdentifier

Neznámý

Existuje UnknownIdentifier pro zajištění budoucí kompatibility a můžete na něj narazit, když používáte starou verzi sady SDK a byl nedávno zaveden nový typ identifikátoru. Jakýkoli neznámý identifikátor ze služby se v sadě SDK deserializuje do UnknownIdentifier.

Základní použití

# create an identifier
unknown = UnknownIdentifier("a raw id that originated in the service")

Reference rozhraní API

UnknownIdentifier

Jak zacházet se základní třídou

Zatímco vytváříte identifikátory pro konkrétní typ, který předáváte do sady SDK, sada SDK vrátí CommunicationIdentifier protokol. Konkrétní třídy identifikátorů jsou CommunicationIdentifier protokol společně s typovaným slovníkem nazvaným properties. Proto můžete použít porovnávání vzorů u proměnné instance protokolu kind k překladu na konkrétní typ:

match communication_identifier.kind:
    case CommunicationIdentifierKind.COMMUNICATION_USER:
        print(f"Communication user: {communication_identifier.properties['id']}")
    case CommunicationIdentifierKind.MICROSOFT_TEAMS_USER:
        print(f"Teams user: {communication_identifier.properties['user_id']}")
    case CommunicationIdentifierKind.MICROSOFT_TEAMS_APP:
        print(f"Teams app: {communication_identifier.properties['app_id']}")
    case CommunicationIdentifierKind.PHONE_NUMBER:
        print(f"Phone number: {communication_identifier.properties['value']}")
    case CommunicationIdentifierKind.UNKNOWN:
        print(f"Unknown: {communication_identifier.raw_id}")
    case _:
        # be careful here whether you want to throw because a new SDK version
        # can introduce new identifier types

Reprezentace nezpracovaných ID

Někdy potřebujete serializovat identifikátor na plochý řetězec. Pokud například chcete identifikátor uložit do databázové tabulky nebo ho chcete použít jako parametr adresy URL.

Pro tento účel mají identifikátory jinou reprezentaci s názvem RawId. Identifikátor lze vždy přeložit na odpovídající nezpracované ID a platné nezpracované ID lze vždy převést na identifikátor.

Sada SDK pomáhá s převodem:

# get an identifier's raw Id
raw_id = communication_identifier.raw_id

# create an identifier from a given raw Id
identifier = identifier_from_raw_id(raw_id)

Neplatné nezpracované ID se v SDK převede na UnknownIdentifier a k ověření dochází pouze na straně služby.

Komunikační uživatel

Představuje CommunicationUserIdentifier identitu uživatele vytvořenou pomocí sady SDK identity nebo rozhraní REST API. Je to jediný identifikátor, který se používá v případě, že vaše aplikace nepoužívá funkce interoperability nebo telefonie Microsoft Teams.

Základní použití

// at some point you will have created a new user identity in your trusted service
CommunicationUserIdentifier newUser = identityClient.CreateUser();

// and then send newUser.getId() down to your client application
// where you can again create an identifier for the user
var sameUser = new CommunicationUserIdentifier(newUserId);

Reference rozhraní API

CommunicationUserIdentifier

Uživatel Microsoft Teams

Znak MicrosoftTeamsUserIdentifier představuje uživatele Teams, který má ID objektu uživatele Microsoft Entra. ID objektu uživatele Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK. ID můžete také najít jako oid deklaraci identity v tokenu Microsoft Entra nebo v přístupovém tokenu Microsoft Entra poté, co se uživatel přihlásil a získal token.

Základní použití

// get the Teams user's ID from Graph APIs if only the email is known
var user = graphClient.users("bob@contoso.com")
    .buildRequest()
    .get();

// create an identifier
var teamsUser = new MicrosoftTeamsUserIdentifier(user.id);

// if you're not operating in the public cloud, you must also set the right Cloud type.
var gcchTeamsUser = new MicrosoftTeamsUserIdentifier(userId).setCloudEnvironment(CommunicationCloudEnvironment.GCCH);

Reference rozhraní API

MicrosoftTeamsUserIdentifier

Telefonní číslo

Tento prvek PhoneNumberIdentifier představuje telefonní číslo. Služba předpokládá, že telefonní čísla jsou formátovaná ve formátu E.164.

Základní použití

// create an identifier
var phoneNumber = new PhoneNumberIdentifier("+112345556789");

Reference rozhraní API

PhoneNumberIdentifier

Aplikace Microsoft Teams

Rozhraní MicrosoftTeamsAppIdentifier představuje robota aplikací Teams Voice, jako je fronta volání a automatický telefonický systém s ID objektu robota Microsoft Entra. Aplikace Teams musí být nakonfigurované se zdrojovým účtem. ID objektu robota Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z id vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK.

Základní použití

// Get the Microsoft Teams App's ID from Graph APIs
var user = graphClient.users()
	.buildRequest()
	.filter(filterConditions)
	.select("displayName,id")
	.get();

//Here we assume that you have a function getBotFromUsers that gets the bot from the returned response
var bot = getBotFromUsers(users);

// Create an identifier
var teamsAppIdentifier = new MicrosoftTeamsAppIdentifier(bot.id);

// If you're not operating in the public cloud, you must also pass the right Cloud type.
var gcchTeamsAppIdentifier = new MicrosoftTeamsAppIdentifier(bot.id, CommunicationCloudEnvironment.GCCH);

Reference rozhraní API

MicrosoftTeamsAppIdentifier

Uživatel rozšíření Teams

Rozhraní TeamsExtensionUserIdentifier představuje uživatele Teams, který je povolený pro rozšiřitelnost telefonu v Teams. Vyžaduje TeamsExtensionUserIdentifier ID objektu uživatele Teams v Microsoft Entra, ID tenanta Microsoft Entra, ve kterém uživatel sídlí, a ID prostředku služby Azure Communication Services. ID objektu uživatele Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z id vlastnosti v odpovědi a ID tenanta Microsoft Entra prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /organization z id vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK. Případně můžete id objektu oid najít jako deklaraci identity a ID tenanta jako tid deklaraci identity v tokenu Microsoft Entra nebo v přístupovém tokenu Microsoft Entra po přihlášení uživatele a získání tokenu.

Základní použití

// get the Teams user's ID from Graph APIs if only the email is known
var user = graphClient.users("bob@contoso.com")
    .buildRequest()
    .get();

// get the tenantId from Graph API
OrganizationCollectionPage organizations = graphClient.organization()
    .buildRequest()
    .get();
String tenantId = organizations.getCurrentPage().get(0).id;

// Communication Services Resource ID
var resourceId = "<resource-id-guid>";

// create an identifier
var teamsExtensionUser = new TeamsExtensionUserIdentifier(user.id, tenantId, resourceId);

// if you're not operating in the public cloud, you must also set the right Cloud type.
var gcchTeamsExtensionUser = new TeamsExtensionUserIdentifier(user.id, tenantId, resourceId).setCloudEnvironment(CommunicationCloudEnvironment.GCCH);

Reference rozhraní API

TeamsExtensionUserIdentifier

Neznámý

Existuje UnknownIdentifier pro zajištění budoucí kompatibility a můžete na něj narazit, když používáte starou verzi sady SDK a byl nedávno zaveden nový typ identifikátoru. Jakýkoli neznámý identifikátor služby je deserializován na UnknownIdentifier v rámci SDK.

Základní použití

// create an identifier
var unknown = new UnknownIdentifier("a raw id that originated in the service");

Reference rozhraní API

UnknownIdentifier

Jak zacházet se základní třídou

Zatímco vytváříte identifikátory pro konkrétní typ, který předáváte do sady SDK, sada SDK vrátí abstraktní CommunicationIdentifier. Můžete přetypovat zpět na konkrétní typ:

if (communicationIdentifier instanceof CommunicationUserIdentifier) {
    System.out.println("Communication user: " + ((CommunicationUserIdentifier)communicationIdentifier).getId());
}
else if (communicationIdentifier instanceof MicrosoftTeamsUserIdentifier) {
    System.out.println("Teams user: " + ((MicrosoftTeamsUserIdentifier)communicationIdentifier).getUserId());
}
else if (communicationIdentifier instanceof  MicrosoftTeamsAppIdentifier) {
    Log.i(tag, "Teams app: " + (( MicrosoftTeamsAppIdentifier)communicationIdentifier).getAppId());
}
else if (communicationIdentifier instanceof PhoneNumberIdentifier) {
    System.out.println("Phone number: " + ((PhoneNumberIdentifier)communicationIdentifier).getPhoneNumber());
}
else if (communicationIdentifier instanceof UnknownIdentifier) {
    System.out.println("Unknown user: " + ((UnknownIdentifier)communicationIdentifier).getId());
}
else {
    // be careful here whether you want to throw because a new SDK version
        // can introduce new identifier types
}

Reprezentace nezpracovaných ID

Někdy potřebujete serializovat identifikátor na plochý řetězec. Pokud například chcete identifikátor uložit do databázové tabulky nebo ho chcete použít jako parametr adresy URL.

Pro tento účel mají identifikátory jinou reprezentaci s názvem RawId. Identifikátor lze vždy přeložit na odpovídající nezpracované ID a platné nezpracované ID lze vždy převést na identifikátor.

Vzhledem k tomu, že azure-communication-common 1.2.0 sada SDK pomáhá s převodem:

// get an identifier's raw Id
String rawId = communicationIdentifier.getRawId();

// create an identifier from a given raw Id
CommunicationIdentifier identifier = CommunicationIdentifier.fromRawId(rawId);

Neplatné nezpracované ID se v SDK převede na UnknownIdentifier a k ověření dochází pouze na straně služby.

Komunikační uživatel

Představuje CommunicationUserIdentifier identitu uživatele vytvořenou pomocí sady SDK identity nebo rozhraní REST API. Je to jediný identifikátor, který se používá v případě, že vaše aplikace nepoužívá funkce interoperability nebo telefonie Microsoft Teams.

Základní použití

// at some point you will have created a new user identity in your trusted service
// and send the new user id down to your client application
// where you can create an identifier for the user
let user = CommunicationUserIdentifier(newUserId)

Reference rozhraní API

CommunicationUserIdentifier

Uživatel Microsoft Teams

Znak MicrosoftTeamsUserIdentifier představuje uživatele Teams, který má ID objektu uživatele Microsoft Entra. ID objektu uživatele Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK. Případně můžete ID najít jako oid deklaraci identity v tokenu ID nebo v přístupovém tokenu Microsoft Entra po přihlášení uživatele a získání tokenu.

Základní použití

// get the Teams user's ID if only the email is known, assuming a helper method for the Graph API
let userId = await getUserIdFromGraph("bob@contoso.com")

// create an identifier
let teamsUser = MicrosoftTeamsUserIdentifier(userId: userId)

// if you're not operating in the public cloud, you must also pass the right Cloud type.
let gcchTeamsUser = MicrosoftTeamsUserIdentifier(userId: userId, cloud: CommunicationCloudEnvironment.Gcch)

Reference rozhraní API

MicrosoftTeamsUserIdentifier

Telefonní číslo

Tento prvek PhoneNumberIdentifier představuje telefonní číslo. Služba předpokládá, že telefonní čísla jsou formátovaná ve formátu E.164.

Základní použití

// create an identifier
let phoneNumber = PhoneNumberIdentifier(phoneNumber: "+112345556789")

Reference rozhraní API

PhoneNumberIdentifier

Aplikace Microsoft Teams

Rozhraní MicrosoftTeamsAppIdentifier představuje robota aplikací Teams Voice, jako je fronta volání a automatický telefonický systém s ID objektu robota Microsoft Entra. Aplikace Teams musí být nakonfigurované se zdrojovým účtem. ID objektu robota Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z id vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK.

Základní použití

// Get the Microsoft Teams App's ID from Graph APIs, assuming a helper method for the Graph API
let botId = await getBotIdFromGraph()

// Create an identifier
let teamsAppIdentifier = MicrosoftTeamsAppIdentifier(appId: botId)

// If you're not operating in the public cloud, you must also pass the right Cloud type.
let gcchTeamsAppIdentifier = MicrosoftTeamsAppIdentifier(appId: botId, cloudEnvironment: CommunicationCloudEnvironment.Gcch)

Reference rozhraní API

MicrosoftTeamsAppIdentifier

Uživatel rozšíření Teams

Rozhraní TeamsExtensionUserIdentifier představuje uživatele Teams, který je povolený pro rozšiřitelnost telefonu v Teams. Vyžaduje TeamsExtensionUserIdentifier ID objektu uživatele Teams v Microsoft Entra, ID tenanta Microsoft Entra, ve kterém uživatel sídlí, a ID prostředku služby Azure Communication Services. ID objektu uživatele Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z id vlastnosti v odpovědi a ID tenanta Microsoft Entra prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /organization z id vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK. Případně můžete id objektu oid najít jako deklaraci identity a ID tenanta jako tid deklaraci identity v tokenu Microsoft Entra nebo v přístupovém tokenu Microsoft Entra po přihlášení uživatele a získání tokenu.

Základní použití

// get the Teams user's ID if only the email is known, assuming a helper method for the Graph API
let userId = await getUserIdFromGraph("bob@contoso.com")

// get the tenantId from Graph API
let tenantId = await getTenantIdFromGraph()

// Communication Services Resource ID
let resourceId = "<resource-id-guid>"

// create an identifier
let teamsExtensionUser = TeamsExtensionUserIdentifier(userId: userId, tenantId: tenantId, resourceId: resourceId)

// if you're not operating in the public cloud, you must also pass the right Cloud type.
let gcchTeamsExtensionUser = TeamsExtensionUserIdentifier(userId: userId, tenantId: tenantId, resourceId: resourceId, cloudEnvironment: CommunicationCloudEnvironment.Gcch)

Reference rozhraní API

TeamsExtensionUserIdentifier

Neznámý

Existuje UnknownIdentifier pro zajištění budoucí kompatibility a můžete na něj narazit, když používáte starou verzi sady SDK a byl nedávno zaveden nový typ identifikátoru. Jakýkoli neznámý identifikátor služby je deserializován na UnknownIdentifier v rámci SDK.

Základní použití

// create an identifier
let unknown = UnknownIdentifier("a raw id that originated in the service")

Reference rozhraní API

UnknownIdentifier

Jak zacházet se základním CommunicationIdentifier protokolem

Zatímco vytváříte identifikátory pro konkrétní typ, který předáváte do sady SDK, sada SDK vrátí CommunicationIdentifier protokol. Přetypování zpět na konkrétní typ je snadné a doporučujeme příkaz switch-case s odpovídajícími vzory:

switch (communicationIdentifier)
{
    case let communicationUser as CommunicationUserIdentifier:
        print(#"Communication user: \(communicationUser.id)"#)
    case let teamsUser as MicrosoftTeamsUserIdentifier:
        print(#"Teams user: \(teamsUser.UserId)"#)
    case let teamsApp as MicrosoftTeamsAppIdentifier:
        print(#"Teams app: \(teamsApp.appId)"#)
    case let phoneNumber as PhoneNumberIdentifier:
        print(#"Phone number: \(phoneNumber.PhoneNumber)"#)
    case let unknown as UnknownIdentifier:
        print(#"Unknown: \(unknown.Id)"#)
    @unknown default:
        // be careful here whether you want to throw because a new SDK version
        // can introduce new identifier types
        break;
}

Reprezentace nezpracovaných ID

Někdy potřebujete serializovat identifikátor na plochý řetězec. Pokud například chcete identifikátor uložit do databázové tabulky nebo ho chcete použít jako parametr adresy URL.

Pro tento účel mají identifikátory jinou reprezentaci s názvem RawId. Identifikátor lze vždy přeložit na odpovídající nezpracované ID a platné nezpracované ID lze vždy převést na identifikátor.

Vzhledem k tomu, že Azure.Communication.Common 1.1.0 sada SDK pomáhá s převodem:

Rychlý

// get an identifier's raw Id
let rawId = communicationIdentifier.rawId;

// create an identifier from a given raw Id
let identifier = createCommunicationIdentifier(fromRawId: rawId);

Neplatné surové ID se převede na UnknownIdentifier v sadě SDK a jakékoli ověření probíhá pouze na straně služby.

Komunikační uživatel

Představuje CommunicationUserIdentifier identitu uživatele vytvořenou pomocí sady SDK identity nebo rozhraní REST API. Je to jediný identifikátor, který se používá v případě, že vaše aplikace nepoužívá funkce interoperability nebo telefonie Microsoft Teams.

Základní použití

// at some point you will have created a new user identity in your trusted service
CommunicationUserIdentifier newUser = identityClient.CreateUser();

// and then send newUser.getId() down to your client application
// where you can again create an identifier for the user
CommunicationUserIdentifier sameUser = new CommunicationUserIdentifier(newUserId);

Reference rozhraní API

CommunicationUserIdentifier

Uživatel Microsoft Teams

Znak MicrosoftTeamsUserIdentifier představuje uživatele Teams, který má ID objektu uživatele Microsoft Entra. ID objektu uživatele Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK. Případně můžete ID najít jako oid deklaraci identity v tokenu ID nebo v přístupovém tokenu Microsoft Entra po přihlášení uživatele a získání tokenu.

Základní použití

// get the Teams user's ID from Graph APIs if only the email is known
User user = graphClient.users("bob@contoso.com")
    .buildRequest()
    .get();

// create an identifier
MicrosoftTeamsUserIdentifier teamsUser = new MicrosoftTeamsUserIdentifier(user.id);

// if you're not operating in the public cloud, you must also set the right Cloud type.
MicrosoftTeamsUserIdentifier gcchTeamsUser = new MicrosoftTeamsUserIdentifier(userId).setCloudEnvironment(CommunicationCloudEnvironment.GCCH);

Reference rozhraní API

MicrosoftTeamsUserIdentifier

Telefonní číslo

Tento prvek PhoneNumberIdentifier představuje telefonní číslo. Služba předpokládá, že telefonní čísla jsou formátovaná ve formátu E.164.

Základní použití

// create an identifier
PhoneNumberIdentifier phoneNumber = new PhoneNumberIdentifier("+112345556789");

Reference rozhraní API

PhoneNumberIdentifier

Aplikace Microsoft Teams

Rozhraní MicrosoftTeamsAppIdentifier představuje robota aplikací Teams Voice, jako je fronta volání a automatický telefonický systém s ID objektu robota Microsoft Entra. Nakonfigurujte aplikace Teams pomocí zdrojového účtu. ID objektu robota Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z id vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK.

Základní použití

// Get the Microsoft Teams App's ID from Graph APIs
UserCollectionPage users = graphClient.users()
	.buildRequest()
	.filter(filterConditions)
	.select("displayName,id")
	.get();

//Here we assume that you have a function getBotFromUsers that gets the bot from the returned response
User bot = getBotFromUsers(users);

// Create an identifier
MicrosoftTeamsAppIdentifier teamsAppIdentifier = new MicrosoftTeamsAppIdentifier(bot.id);

// If you're not operating in the public cloud, you must also pass the right Cloud type.
MicrosoftTeamsAppIdentifier gcchTeamsAppIdentifier = new MicrosoftTeamsAppIdentifier(bot.id, CommunicationCloudEnvironment.GCCH);

Reference rozhraní API

MicrosoftTeamsAppIdentifier

Uživatel rozšíření Teams

Rozhraní TeamsExtensionUserIdentifier představuje uživatele Teams, který je povolený pro rozšiřitelnost telefonu v Teams. Vyžaduje TeamsExtensionUserIdentifier ID objektu uživatele Teams v Microsoft Entra, ID tenanta Microsoft Entra, ve kterém uživatel sídlí, a ID prostředku služby Azure Communication Services. ID objektu uživatele Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z id vlastnosti v odpovědi a ID tenanta Microsoft Entra prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /organization z id vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK. Případně můžete id objektu oid najít jako deklaraci identity a ID tenanta jako tid deklaraci identity v tokenu Microsoft Entra nebo v přístupovém tokenu Microsoft Entra po přihlášení uživatele a získání tokenu.

Základní použití

// get the Teams user's ID from Graph APIs if only the email is known
User user = graphClient.users("bob@contoso.com")
    .buildRequest()
    .get();

// get the tenantId from Graph API
OrganizationCollectionPage organizations = graphClient.organization()
    .buildRequest()
    .get();
String tenantId = organizations.getCurrentPage().get(0).id;

// Communication Services Resource ID
var resourceId = "<resource-id-guid>";

// create an identifier
var teamsExtensionUser = new TeamsExtensionUserIdentifier(user.id, tenantId, resourceId);

// if you're not operating in the public cloud, you must also set the right Cloud type.
var gcchTeamsExtensionUser = new TeamsExtensionUserIdentifier(user.id, tenantId, resourceId).setCloudEnvironment(CommunicationCloudEnvironment.GCCH);

Reference rozhraní API

TeamsExtensionUserIdentifier

Neznámý

Existuje UnknownIdentifier pro zajištění budoucí kompatibility a můžete na něj narazit, když používáte starou verzi sady SDK a byl nedávno zaveden nový typ identifikátoru. Jakýkoli neznámý identifikátor služby je deserializován na UnknownIdentifier v rámci SDK.

Základní použití

// create an identifier
UnknownIdentifier unknown = new UnknownIdentifier("a raw id that originated in the service");

Reference rozhraní API

UnknownIdentifier

Jak zacházet se základní třídou

Zatímco vytváříte identifikátory pro konkrétní typ, který předáváte do sady SDK, sada SDK vrátí abstraktní CommunicationIdentifier. Můžete přetypovat zpět na konkrétní typ:

if (communicationIdentifier instanceof CommunicationUserIdentifier) {
    Log.i(tag, "Communication user: " + ((CommunicationUserIdentifier)communicationIdentifier).getId());
}
else if (communicationIdentifier instanceof MicrosoftTeamsUserIdentifier) {
    Log.i(tag, "Teams user: " + ((MicrosoftTeamsUserIdentifier)communicationIdentifier).getUserId());
}
else if (communicationIdentifier instanceof  MicrosoftTeamsAppIdentifier) {
    Log.i(tag, "Teams app: " + (( MicrosoftTeamsAppIdentifier)communicationIdentifier).getAppId());
}
else if (communicationIdentifier instanceof PhoneNumberIdentifier) {
    Log.i(tag, "Phone number: " + ((PhoneNumberIdentifier)communicationIdentifier).getPhoneNumber());
}
else if (communicationIdentifier instanceof UnknownIdentifier) {
    Log.i(tag, "Unknown user: " + ((UnknownIdentifier)communicationIdentifier).getId());
}
else {
    // be careful here whether you want to throw because a new SDK version
    // can introduce new identifier types
}

Reprezentace nezpracovaných ID

Někdy potřebujete serializovat identifikátor na plochý řetězec. Pokud například chcete identifikátor uložit do databázové tabulky nebo ho chcete použít jako parametr adresy URL.

Pro tento účel mají identifikátory jinou reprezentaci s názvem RawId. Identifikátor lze vždy přeložit na odpovídající nezpracované ID a platné nezpracované ID lze vždy převést na identifikátor.

Vzhledem k tomu, že azure-communication-common 1.1.0 sada SDK pomáhá s převodem:

// get an identifier's raw Id
String rawId = communicationIdentifier.getRawId();

// create an identifier from a given raw Id
CommunicationIdentifier identifier = CommunicationIdentifier.fromRawId(rawId);

Neplatné nezpracované ID se v SDK převede na UnknownIdentifier a k ověření dochází pouze na straně služby.

V rozhraníCH REST API je identifikátor polymorfním typem: vytvoříte objekt JSON a vlastnost, která se mapuje na konkrétní podtyp identifikátoru. Z důvodu usnadnění a zpětné kompatibility jsou vlastnosti kind v požadavcích volitelné, rawId ale naplní se odpověďmi služby.

Komunikační uživatel

Představuje CommunicationUserIdentifierModel identitu uživatele vytvořenou pomocí sady SDK identity nebo rozhraní REST API. Je to jediný identifikátor, který se používá v případě, že vaše aplikace nepoužívá funkce interoperability nebo telefonie Microsoft Teams.

Základní použití


// at some point you will have created a new user identity in your trusted service
// you can specify an identifier with the id of the new user in a request
{
    "communicationUser": {
        "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715"
    }
}

// the corresponding serialization in a response
{
    "kind": "communicationUser",
    "rawId": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715",
    "communicationUser": {
        "id": "8:acs:8540c0de-899f-5cce-acb5-3ec493af3800_c94ff260-162d-46d6-94fd-e79f4d213715"
    }
}

Můžete najít příklad požadavku, který obsahuje identifikátor v rozhraní REST API chatu pro přidání účastníka, a příklad odpovědi s identifikátorem v části Získat chatovací zprávu.

Reference rozhraní API

CommunicationUserIdentifierModel

Uživatel Microsoft Teams

Znak MicrosoftTeamsUserIdentifierModel představuje uživatele Teams, který má ID objektu uživatele Microsoft Entra. ID objektu uživatele Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK. ID můžete také najít jako oid deklaraci identity v tokenu Microsoft Entra nebo v přístupovém tokenu Microsoft Entra poté, co se uživatel přihlásil a získal token.

Základní použití

// request
{
    "microsoftTeamsUser": {
        "userId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
    }
}

// response
{
    "kind": "microsoftTeamsUser",
    "rawId": "8:orgid:00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
    "microsoftTeamsUser": {
        "userId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
    }
}


// if you're not operating in the public cloud, you must also pass the right Cloud type in a request
{
    "microsoftTeamsUser": {
        "userId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
        "cloud": "gcch"
    }
}

// response
{
    "kind": "microsoftTeamsUser",
    "rawId": "8:gcch:00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
    "microsoftTeamsUser": {
        "userId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
        "isAnonymous": false,
        "cloud": "gcch"
    }
}

Reference rozhraní API

MicrosoftTeamsUserIdentifierModel

Telefonní číslo

Tento prvek PhoneNumberIdentifierModel představuje telefonní číslo. Služba předpokládá, že telefonní čísla jsou formátovaná ve formátu E.164.

Základní použití

// request
{
    "phoneNumber": {
        "value": "+112345556789"
    }
}

// response
{
    "kind": "phoneNumber",
    "rawId": "4:+112345556789",
    "phoneNumber": {
        "value": "+112345556789"
    }
}

Reference rozhraní API

PhoneNumberIdentifierModel

Aplikace Microsoft Teams

MicrosoftTeamsAppIdentifierModel znázorňuje bota aplikací Teams Voice, jako je fronta volání a automatický telefonický systém, s ID objektu bota Microsoft Entra. Aplikace Teams by měly být nakonfigurované pomocí účtu prostředků. ID objektu robota Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z id vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK.

Základní použití

// request
{
    "microsoftTeamsApp": {
        "appId": "00001111-aaaa-2222-bbbb-3333cccc4444"
    }
}

// response
{
    "kind": "microsoftTeamsApp",
    "rawId": "28:orgid:00001111-aaaa-2222-bbbb-3333cccc4444",
    "microsoftTeamsApp": {
        "appId": "00001111-aaaa-2222-bbbb-3333cccc4444"
    }
}


// if you're not operating in the public cloud, you must also pass the right Cloud type in a request
{
    "microsoftTeamsApp": {
        "appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
        "cloud": "gcch"
    }
}

// response
{
    "kind": "microsoftTeamsApp",
    "rawId": "28:gcch:00001111-aaaa-2222-bbbb-3333cccc4444",
    "microsoftTeamsApp": {
        "appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
        "cloud": "gcch"
    }
}

Reference rozhraní API

MicrosoftTeamsAppIdentifierModel

Uživatel rozšíření Teams

Rozhraní TeamsExtensionUserIdentifier představuje uživatele Teams, který je povolený pro rozšiřitelnost telefonu v Teams. Vyžaduje TeamsExtensionUserIdentifier ID objektu uživatele Teams v Microsoft Entra, ID tenanta Microsoft Entra, ve kterém uživatel sídlí, a ID prostředku služby Azure Communication Services. ID objektu uživatele Microsoft Entra můžete načíst prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /users z id vlastnosti v odpovědi a ID tenanta Microsoft Entra prostřednictvím koncového bodu rozhraní Microsoft Graph REST API /organization z id vlastnosti v odpovědi. Další informace o práci s Microsoft Graph najdete v Graph Explorer a podívejte se na Graph SDK. Případně můžete id objektu oid najít jako deklaraci identity a ID tenanta jako tid deklaraci identity v tokenu Microsoft Entra nebo v přístupovém tokenu Microsoft Entra po přihlášení uživatele a získání tokenu.

Základní použití

// request
{
    "teamsExtensionUser": {
        "userId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
        "tenantId": "d4f5a8c3-2c49-4b9e-a5c6-3c85e80a7f4d",
        "resourceId": "f7e1e3c6-3a1d-4415-8b7d-9e1d4bda2d45"
    }
}

// response
{
    "kind": "teamsExtensionUser",
    "rawId": "8:acs:f7e1e3c6-3a1d-4415-8b7d-9e1d4bda2d45_d4f5a8c3-2c49-4b9e-a5c6-3c85e80a7f4d_00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
    "teamsExtensionUser": {
        "userId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
        "tenantId": "d4f5a8c3-2c49-4b9e-a5c6-3c85e80a7f4d",
        "resourceId": "f7e1e3c6-3a1d-4415-8b7d-9e1d4bda2d45"
    }
}


// if you're not operating in the public cloud, you must also pass the right Cloud type in a request
{
    "microsoftTeamsUser": {
        "userId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
        "tenantId": "d4f5a8c3-2c49-4b9e-a5c6-3c85e80a7f4d",
        "resourceId": "f7e1e3c6-3a1d-4415-8b7d-9e1d4bda2d45",
        "cloud": "gcch"
    }
}

// response
{
    "kind": "teamsExtensionUser",
    "rawId": "8:gcch-acs:f7e1e3c6-3a1d-4415-8b7d-9e1d4bda2d45_d4f5a8c3-2c49-4b9e-a5c6-3c85e80a7f4d_00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
    "teamsExtensionUser": {
        "userId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
        "tenantId": "d4f5a8c3-2c49-4b9e-a5c6-3c85e80a7f4d",
        "resourceId": "f7e1e3c6-3a1d-4415-8b7d-9e1d4bda2d45",
        "cloud": "gcch"
    }
}

Reference rozhraní API

TeamsExtensionUserIdentifierModel

Neznámý

Pokud je ve službě zaveden nový identifikátor, dojde k jeho snížení na CommunicationIdentifierModel, pokud používáte starší verzi rozhraní API.

Základní použití

// request
{
    "rawId": "a raw id that originated in the service"
}

// response
{
    "kind": "unknown",
    "rawId": "a raw id that originated in the service"
}

Reference rozhraní API

CommunicationIdentifierModel

Jak zpracovat CommunicationIdentifierModel v odpovědích

Nedávné verze rozhraní API naplňují atribut kind, který můžete použít k rozlišování:

switch (communicationIdentifier.kind)
{
    case "communicationUser":
        console.log(`Communication user: ${communicationIdentifier.communicationUser.id}`);
        break;
    case "microsoftTeamsUser":
        console.log(`Teams user: ${communicationIdentifier.microsoftTeamsUser.userId}`);
        break;
    case "microsoftTeamsApp":
        console.log(`Teams user: ${communicationIdentifier.microsoftTeamsApp.appId}`);
        break;
    case "phoneNumber":
        console.log(`Phone number: ${communicationIdentifier.phoneNumber.value}`);
        break;
    case "unknown":
        console.log(`Unknown: ${communicationIdentifier.rawId}`);
        break;
    default:
        // this case should not be hit because adding a new identifier type requires a new API version
        // if it does get hit, please file an issue on https://github.com/Azure/azure-rest-api-specs/issues 
        break;
}

Ve starších verzích rozhraní API chybí vlastnost kind, proto je potřeba zkontrolovat správnou podvlastnost:

if (communicationIdentifier.communicationUser) {
    console.log(`Communication user: ${communicationIdentifier.communicationUser.id}`);
} else if (communicationIdentifier.microsoftTeamsUser) {
    console.log(`Teams user: ${communicationIdentifier.microsoftTeamsUser.userId}`);
} else if (communicationIdentifier.microsoftTeamsApp) {
    console.log(`Teams app: ${communicationIdentifier.microsoftTeamsApp.appId}`);
} else if (communicationIdentifier.phoneNumber) {
    console.log(`Phone number: ${communicationIdentifier.phoneNumber.value}`);
} else {
    console.log(`Unknown: ${communicationIdentifier.rawId}`);
}

Reprezentace nezpracovaných ID

Někdy potřebujete serializovat identifikátor na plochý řetězec. Pokud například chcete identifikátor uložit do databázové tabulky nebo ho chcete použít jako parametr adresy URL.

Pro tento účel mají identifikátory jinou reprezentaci s názvem RawId. Identifikátor lze vždy přeložit na odpovídající nezpracované ID a platné nezpracované ID lze vždy převést na identifikátor.

Pokud používáte sadu Azure SDK, pomůže vám s převodem. Pokud rozhraní REST API používáte přímo, musíte ručně sestavit nezpracované ID následujícím způsobem.

Komunikační uživatel

Identifikátor:

{
    "communicationUser": {
        "id": "[communicationUserId]"
    }
}

Nezpracované ID:

[communicationUserId]

Nezpracované ID je stejné jako communicationUser.id.

Uživatel Microsoft Teams

Identifikátor:

{
    "microsoftTeamsUser": {
        "userId": "[entraUserId]"
    }
}

Nezpracované ID:

8:orgid:[entraUserId]

Nezpracované ID je ID objektu uživatele Microsoft Entra s předponou 8:orgid:.

Identifikátor:

{
    "microsoftTeamsUser": {
        "userId": "[entraUserId]",
        "cloud": "gcch"
    }
}

Nezpracované ID:

8:gcch:[entraUserId]

Nezpracované ID je ID objektu uživatele Microsoft Entra s předponou 8:gcch: nebo 8:dod: v závislosti na cloudovém prostředí.

Identifikátor:

{
    "microsoftTeamsUser": {
        "userId": "[visitorUserId]",
        "isAnonymous": true
    }
}

Nezpracované ID:

8:teamsvisitor:[visitorUserId]

Nezpracované ID je ID návštěvníka Teams s předponou 8:teamsvisitor:. ID návštěvníka Teams je dočasné ID, které Teams vygeneruje za účelem povolení přístupu ke schůzce.

Telefonní číslo

Identifikátor:

{
    "phoneNumber": {
        "value": "+1123455567"
    }
}

Nezpracované ID:

4:+1123455567

Surové ID je telefonní číslo ve formátu E.164 s předponou 4:.

Aplikace Microsoft Teams

Identifikátor:

{
    "microsoftTeamsApp": {
        "appId": "[entraUserId]"
    }
}

Nezpracované ID:

28:orgid:[entraUserId]

Primární ID je ID uživatelského objektu aplikace Microsoft Entra s předponou 28:orgid:.

Identifikátor:

{
    "microsoftTeamsUser": {
        "userId": "[entraUserId]",
        "cloud": "gcch"
    }
}

Nezpracované ID:

28:gcch:[entraUserId]

Nezpracované ID je ID objektu uživatele Microsoft Entra společnosti Microsoft s předponou 28:gcch: nebo 28:dod: v závislosti na cloudovém prostředí.

Neznámý

Identifikátor:

{
    "rawId": "[unknown identifier id]"
}

Nezpracované ID:

[unknown identifier id]

Pokud je nezpracované ID neplatné, služba požadavek zamítne.

Další kroky