Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
- Úvod do komunikačních identit najdete v tématu Model identit.
- Informace o rychlém vytváření identit pro testování najdete v rychlém startu pro rychlé vytvoření identity.
- Informace o tom, jak používat komunikační služby společně s Microsoft Teams, najdete v tématu Interoperabilita Teams.
- Informace o použití surového ID najdete v tématu Případy použití identifikátorů řetězců v komunikačních sadách SDK.