Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
SDKs de serviços de comunicação e APIs REST usam o tipo de identificador para identificar quem está se comunicando com quem. Por exemplo, os identificadores especificam para quem ligar ou quem enviou uma mensagem de chat.
Dependendo do contexto, os identificadores são encapsulados com propriedades extras, como dentro do SDK de bate-papo ChatParticipant ou dentro do RemoteParticipant SDK de chamada.
Este artigo descreve diferentes tipos de identificadores e como eles se parecem em linguagens de programação. Você também recebe dicas sobre como usá-los.
O CommunicationIdentifier tipo
Há identidades de usuário que você mesmo cria e há identidades externas. Os usuários e números de telefone do Microsoft Teams são identidades externas que entram em ação em cenários de interoperabilidade. Cada um desses diferentes tipos de identidade tem um identificador correspondente que o representa. Um identificador é um tipo estruturado que oferece segurança de tipos e funciona bem com a funcionalidade de preenchimento automático do código no editor.
Utilizador de comunicação
A CommunicationUserIdentifier interface representa uma identidade de usuário criada usando o SDK de identidade ou a API REST. É o único identificador usado se seu aplicativo não usar recursos de interoperabilidade ou telefonia do Microsoft Teams.
Utilização básica
// 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 };
Referência da API
Usuário do Microsoft Teams
A MicrosoftTeamsUserIdentifier interface representa um usuário do Teams com sua ID de objeto de usuário do Microsoft Entra. Você pode recuperar a ID do objeto de usuário do Microsoft Entra por meio do ponto de extremidade /users da API REST do id Microsoft Graph da propriedade na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK. Em alternativa, pode encontrar o ID como oid alegação num token Microsoft Entra ou token de acesso da Microsoft Entra depois de o utilizador iniciar sessão e adquirir um token.
Utilização básica
// 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" };
Referência da API
Número de telefone
A PhoneNumberIdentifier interface representa um número de telefone. O serviço assume que os números de telefone estão formatados no formato E.164.
Utilização básica
// create an identifier
const phoneNumber = { phoneNumber: "+112345556789" };
Referência da API
Aplicação Microsoft Teams
A MicrosoftTeamsAppIdentifier interface representa um bot das aplicações do Microsoft Teams Voice, como Fila de Chamadas e Atendedor Automático, com o respetivo ID de objeto de bot do Microsoft Entra. Os aplicativos do Teams devem ser configurados com uma conta de recurso. Você pode recuperar a ID do objeto bot do Microsoft Entra por meio do ponto de extremidade /users da API REST do Microsoft Graph da id propriedade na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK.
Utilização básica
// 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" };
Referência da API
Usuário do Teams Extension
A TeamsExtensionUserIdentifier interface representa um usuário do Teams habilitado para Extensibilidade de Telefone do Teams. A TeamsExtensionUserIdentifier requer a ID do objeto de usuário do Microsoft Entra do usuário do Teams, a ID do locatário do Microsoft Entra onde o usuário reside e a ID do recurso dos Serviços de Comunicação do Azure. Você pode obter a ID do objeto de utilizador do Microsoft Entra através do ponto de extremidade /users da API REST do Microsoft Graph, a partir da propriedade id na resposta, e a ID do tenant do Microsoft Entra através do ponto de extremidade /organization da API REST do Microsoft Graph, a partir da propriedade id na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK.
Em alternativa, pode encontrar o ID do objeto como oid reclamação e o ID do inquilino como tid reclamação num token Microsoft Entra ou token de acesso Microsoft Entra , depois de o seu utilizador iniciar sessão e adquirir um token.
Utilização básica
// 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" };
Referência da API
Desconhecido
A UnknownIdentifier interface existe para preparação para o futuro e você pode encontrá-la quando estiver em uma versão antiga do SDK e um novo tipo de identificador for introduzido recentemente. Qualquer identificador desconhecido do serviço é desserializado para UnknownIdentifier no SDK.
Utilização básica
// create an identifier
const unknownId = { id: "a raw id that originated in the service" };
Referência da API
Como lidar com a CommunicationIdentifier interface base
Enquanto você constrói identificadores para um tipo concreto que você passa para o SDK, o SDK retorna um CommunicationIdentifierKind, que é uma união discriminada. É fácil de restringir para um tipo de concreto e sugerimos uma declaração de caso de interruptor com correspondência de padrão:
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;
}
As interfaces de identificador são projetadas para que você não precise especificar kind para reduzir a verbosidade. Além disso, a união discriminativa com a kind propriedade só é usada quando retornada do SDK. No entanto, se você precisar traduzir um identificador para seu tipo de união discriminante correspondente, você pode usar este auxiliar:
const identifierKind = getIdentifierKind(identifier); // now you can switch-case on the kind
Representação de ID bruta
Às vezes, você precisa serializar um identificador para uma cadeia de caracteres plana. Por exemplo, se você deseja armazenar o identificador em uma tabela de banco de dados ou se deseja usá-lo como um parâmetro de URL.
Para esse efeito, os identificadores têm outra representação chamada RawId. Um identificador sempre pode ser traduzido para sua ID bruta correspondente, e uma ID bruta válida sempre pode ser convertida em um identificador.
Como azure-communication-common@2.1.0 o SDK ajuda na conversão:
// get an identifier's raw Id
const rawId = getIdentifierRawId(communicationIdentifier);
// create an identifier from a given raw Id
const identifier = createIdentifierFromRawId(rawId);
Um ID bruto inválido é convertido para UnknownIdentifier no SDK e qualquer validação só acontece do lado do servidor.
Utilizador de comunicação
O CommunicationUserIdentifier representa uma identidade de usuário criada usando o SDK de identidade ou a API REST. É o único identificador usado se seu aplicativo não usar recursos de interoperabilidade ou telefonia do Microsoft Teams.
Utilização básica
// 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);
Referência da API
Usuário do Microsoft Teams
O MicrosoftTeamsUserIdentifier representa um usuário do Teams com sua ID de objeto de usuário do Microsoft Entra. Você pode recuperar a ID do objeto de usuário do Microsoft Entra por meio do ponto de extremidade /users da API REST do id Microsoft Graph da propriedade na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK. Em alternativa, pode encontrar o ID como a reivindicação oid num token Microsoft Entra ou num token de acesso Microsoft Entra depois de iniciar sessão e adquirir um token.
Utilização básica
// 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);
Referência da API
Número de telefone
O PhoneNumberIdentifier representa um número de telefone. O serviço assume que os números de telefone estão formatados no formato E.164.
Utilização básica
// create an identifier
var phoneNumber = new PhoneNumberIdentifier("+112345556789");
Referência da API
Aplicação Microsoft Teams
A MicrosoftTeamsAppIdentifier interface representa um bot das aplicações do Microsoft Teams Voice, como Fila de Chamadas e Atendedor Automático, com o respetivo ID de objeto de bot do Microsoft Entra. Os aplicativos do Teams devem ser configurados com uma conta de recurso. Você pode recuperar a ID do objeto bot do Microsoft Entra por meio do ponto de extremidade /users da API REST do Microsoft Graph da id propriedade na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK.
Utilização básica
// 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);
Referência da API
Usuário do Teams Extension
A TeamsExtensionUserIdentifier interface representa um usuário do Teams habilitado para Extensibilidade de Telefone do Teams. A TeamsExtensionUserIdentifier requer a ID do objeto de usuário do Microsoft Entra do usuário do Teams, a ID do locatário do Microsoft Entra onde o usuário reside e a ID do recurso dos Serviços de Comunicação do Azure. Você pode obter a ID do objeto de utilizador do Microsoft Entra através do ponto de extremidade /users da API REST do Microsoft Graph, a partir da propriedade id na resposta, e a ID do tenant do Microsoft Entra através do ponto de extremidade /organization da API REST do Microsoft Graph, a partir da propriedade id na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK.
Em alternativa, pode encontrar o ID do objeto como a declaração oid e o ID do inquilino como a declaração tid num token Microsoft Entra ou token de acesso Microsoft Entra, após o utilizador iniciar sessão e adquirir um token.
Utilização básica
// 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);
Referência da API
Desconhecido
O UnknownIdentifier existe para preparação para o futuro e você pode encontrá-lo quando estiver em uma versão antiga do SDK e um novo tipo de identificador for introduzido recentemente. Qualquer identificador desconhecido do serviço é desserializado para UnknownIdentifier no SDK.
Utilização básica
// create an identifier
var unknown = new UnknownIdentifier("a raw id that originated in the service");
Referência da API
Como lidar com a CommunicationIdentifier classe base
Enquanto você constrói identificadores para um tipo concreto que você passa para o SDK, o SDK retorna o CommunicationIdentifier protocolo. É fácil fazer downcast para um tipo concreto e sugerimos uma declaração switch-case com correspondência de padrões:
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;
}
Representação de ID bruta
Às vezes, você precisa serializar um identificador para uma cadeia de caracteres plana. Por exemplo, se você deseja armazenar o identificador em uma tabela de banco de dados ou se deseja usá-lo como um parâmetro de URL.
Para esse efeito, os identificadores têm outra representação chamada RawId. Um identificador sempre pode ser traduzido para sua ID bruta correspondente, e uma ID bruta válida sempre pode ser convertida em um identificador.
Como Azure.Communication.Common 1.2.0 o SDK ajuda na conversão:
// get an identifier's raw Id
string rawId = communicationIdentifier.RawId;
// create an identifier from a given raw Id
CommunicationIdentifier identifier = CommunicationIdentifier.FromRawId(rawId);
Um ID bruto inválido é convertido para UnknownIdentifier no SDK e qualquer validação só acontece do lado do servidor.
Utilizador de comunicação
O CommunicationUserIdentifier representa uma identidade de usuário criada usando o SDK de identidade ou a API REST. É o único identificador usado se seu aplicativo não usar recursos de interoperabilidade ou telefonia do Microsoft Teams.
Utilização básica
# 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)
Referência da API
Usuário do Microsoft Teams
O MicrosoftTeamsUserIdentifier representa um usuário do Teams com sua ID de objeto de usuário do Microsoft Entra. Você pode recuperar a ID do objeto de usuário do Microsoft Entra por meio do ponto de extremidade /users da API REST do id Microsoft Graph da propriedade na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK. Em alternativa, pode encontrar o ID na declaração oid de um token Microsoft Entra ou de um token de acesso Microsoft Entra depois de ter iniciado sessão e obtido um token.
Utilização básica
# 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)
Referência da API
Número de telefone
O PhoneNumberIdentifier representa um número de telefone. O serviço assume que os números de telefone estão formatados no formato E.164.
Utilização básica
# create an identifier
phone_number = PhoneNumberIdentifier("+112345556789")
Referência da API
Aplicação Microsoft Teams
A MicrosoftTeamsAppIdentifier interface representa um bot das aplicações do Microsoft Teams Voice, como Fila de Chamadas e Atendedor Automático, com o respetivo ID de objeto de bot do Microsoft Entra. Os aplicativos do Teams devem ser configurados com uma conta de recurso. Você pode recuperar a ID do objeto bot do Microsoft Entra por meio do ponto de extremidade /users da API REST do Microsoft Graph da id propriedade na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK.
Utilização básica
# 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
)
Referência da API
Usuário do Teams Extension
A TeamsExtensionUserIdentifier interface representa um usuário do Teams habilitado para Extensibilidade de Telefone do Teams. A TeamsExtensionUserIdentifier requer a ID do objeto de usuário do Microsoft Entra do usuário do Teams, a ID do locatário do Microsoft Entra onde o usuário reside e a ID do recurso dos Serviços de Comunicação do Azure. Você pode obter a ID do objeto de utilizador do Microsoft Entra através do ponto de extremidade /users da API REST do Microsoft Graph, a partir da propriedade id na resposta, e a ID do tenant do Microsoft Entra através do ponto de extremidade /organization da API REST do Microsoft Graph, a partir da propriedade id na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK.
Em alternativa, pode encontrar o ID do objeto como oid declaração e o ID do inquilino como tid declaração num token Microsoft Entra ou token de acesso Microsoft Entra, depois de o seu utilizador iniciar sessão e adquirir um token.
Utilização básica
# 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)
Referência da API
Desconhecido
O UnknownIdentifier existe para preparação para o futuro e você pode encontrá-lo quando estiver em uma versão antiga do SDK e um novo tipo de identificador for introduzido recentemente. Qualquer identificador desconhecido do serviço é desserializado para o UnknownIdentifier no SDK.
Utilização básica
# create an identifier
unknown = UnknownIdentifier("a raw id that originated in the service")
Referência da API
Como lidar com a CommunicationIdentifier classe base
Enquanto você constrói identificadores para um tipo concreto que você passa para o SDK, o SDK retorna o CommunicationIdentifier protocolo. Classes de identificador concreto são o protocolo CommunicationIdentifier juntamente com um dicionário tipado chamado properties. Assim, você pode usar a correspondência de padrões na variável de kind instância do protocolo para traduzir para o tipo concreto:
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
Representação de ID bruta
Às vezes, você precisa serializar um identificador para uma cadeia de caracteres plana. Por exemplo, se você deseja armazenar o identificador em uma tabela de banco de dados ou se deseja usá-lo como um parâmetro de URL.
Para esse efeito, os identificadores têm outra representação chamada RawId. Um identificador sempre pode ser traduzido para sua ID bruta correspondente, e uma ID bruta válida sempre pode ser convertida em um identificador.
O SDK ajuda com a conversão:
# 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)
Um ID bruto inválido é convertido para UnknownIdentifier no SDK e qualquer validação só acontece do lado do servidor.
Utilizador de comunicação
O CommunicationUserIdentifier representa uma identidade de usuário criada usando o SDK de identidade ou a API REST. É o único identificador usado se seu aplicativo não usar recursos de interoperabilidade ou telefonia do Microsoft Teams.
Utilização básica
// 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);
Referência da API
Usuário do Microsoft Teams
O MicrosoftTeamsUserIdentifier representa um usuário do Teams com sua ID de objeto de usuário do Microsoft Entra. Você pode recuperar a ID do objeto de usuário do Microsoft Entra por meio do ponto de extremidade /users da API REST do id Microsoft Graph da propriedade na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK. Em alternativa, pode encontrar o ID como oid declaração num token Microsoft Entra ou num Microsoft Entra token de acesso depois de o utilizador iniciar sessão e adquirir o token.
Utilização básica
// 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);
Referência da API
Número de telefone
O PhoneNumberIdentifier representa um número de telefone. O serviço assume que os números de telefone estão formatados no formato E.164.
Utilização básica
// create an identifier
var phoneNumber = new PhoneNumberIdentifier("+112345556789");
Referência da API
Aplicação Microsoft Teams
A MicrosoftTeamsAppIdentifier interface representa um bot das aplicações do Microsoft Teams Voice, como Fila de Chamadas e Atendedor Automático, com o respetivo ID de objeto de bot do Microsoft Entra. Os aplicativos do Teams devem ser configurados com uma conta de recurso. Você pode recuperar a ID do objeto bot do Microsoft Entra por meio do ponto de extremidade /users da API REST do Microsoft Graph da id propriedade na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK.
Utilização básica
// 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);
Referência da API
Usuário do Teams Extension
A TeamsExtensionUserIdentifier interface representa um usuário do Teams habilitado para Extensibilidade de Telefone do Teams. A TeamsExtensionUserIdentifier requer a ID do objeto de usuário do Microsoft Entra do usuário do Teams, a ID do locatário do Microsoft Entra onde o usuário reside e a ID do recurso dos Serviços de Comunicação do Azure. Você pode obter a ID do objeto de utilizador do Microsoft Entra através do ponto de extremidade /users da API REST do Microsoft Graph, a partir da propriedade id na resposta, e a ID do tenant do Microsoft Entra através do ponto de extremidade /organization da API REST do Microsoft Graph, a partir da propriedade id na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK.
Em alternativa, pode encontrar o ID do objeto como oid reclamação e o ID do inquilino como tid reclamação num token Microsoft Entra ou token de acesso Microsoft Entra , depois de o seu utilizador iniciar sessão e adquirir um token.
Utilização básica
// 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);
Referência da API
Desconhecido
O UnknownIdentifier existe para preparação para o futuro e você pode encontrá-lo quando estiver em uma versão antiga do SDK e um novo tipo de identificador for introduzido recentemente. Qualquer identificador desconhecido do serviço é desserializado para UnknownIdentifier no SDK.
Utilização básica
// create an identifier
var unknown = new UnknownIdentifier("a raw id that originated in the service");
Referência da API
Como lidar com a CommunicationIdentifier classe base
Enquanto você constrói identificadores para um tipo concreto que você passa para o SDK, o SDK retorna o abstrato CommunicationIdentifier. Você pode retroceder para um tipo de concreto:
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
}
Representação de ID bruta
Às vezes, você precisa serializar um identificador para uma cadeia de caracteres plana. Por exemplo, se você deseja armazenar o identificador em uma tabela de banco de dados ou se deseja usá-lo como um parâmetro de URL.
Para esse efeito, os identificadores têm outra representação chamada RawId. Um identificador sempre pode ser traduzido para sua ID bruta correspondente, e uma ID bruta válida sempre pode ser convertida em um identificador.
Como azure-communication-common 1.2.0 o SDK ajuda na conversão:
// get an identifier's raw Id
String rawId = communicationIdentifier.getRawId();
// create an identifier from a given raw Id
CommunicationIdentifier identifier = CommunicationIdentifier.fromRawId(rawId);
Um ID bruto inválido é convertido para UnknownIdentifier no SDK e qualquer validação só acontece do lado do servidor.
Utilizador de comunicação
O CommunicationUserIdentifier representa uma identidade de usuário criada usando o SDK de identidade ou a API REST. É o único identificador usado se seu aplicativo não usar recursos de interoperabilidade ou telefonia do Microsoft Teams.
Utilização básica
// 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)
Referência da API
Usuário do Microsoft Teams
O MicrosoftTeamsUserIdentifier representa um usuário do Teams com sua ID de objeto de usuário do Microsoft Entra. Você pode recuperar a ID do objeto de usuário do Microsoft Entra por meio do ponto de extremidade /users da API REST do id Microsoft Graph da propriedade na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK. Como alternativa, pode encontrar a ID como a oid declaração num token de ID ou token de acesso do Microsoft Entra depois de o utilizador fazer login e adquirir um token.
Utilização básica
// 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)
Referência da API
Número de telefone
O PhoneNumberIdentifier representa um número de telefone. O serviço assume que os números de telefone estão formatados no formato E.164.
Utilização básica
// create an identifier
let phoneNumber = PhoneNumberIdentifier(phoneNumber: "+112345556789")
Referência da API
Aplicação Microsoft Teams
A MicrosoftTeamsAppIdentifier interface representa um bot das aplicações do Microsoft Teams Voice, como Fila de Chamadas e Atendedor Automático, com o respetivo ID de objeto de bot do Microsoft Entra. Os aplicativos do Teams devem ser configurados com uma conta de recurso. Você pode recuperar a ID do objeto bot do Microsoft Entra por meio do ponto de extremidade /users da API REST do Microsoft Graph da id propriedade na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK.
Utilização básica
// 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)
Referência da API
Usuário do Teams Extension
A TeamsExtensionUserIdentifier interface representa um usuário do Teams habilitado para Extensibilidade de Telefone do Teams. A TeamsExtensionUserIdentifier requer a ID do objeto de usuário do Microsoft Entra do usuário do Teams, a ID do locatário do Microsoft Entra onde o usuário reside e a ID do recurso dos Serviços de Comunicação do Azure. Você pode obter a ID do objeto de utilizador do Microsoft Entra através do ponto de extremidade /users da API REST do Microsoft Graph, a partir da propriedade id na resposta, e a ID do tenant do Microsoft Entra através do ponto de extremidade /organization da API REST do Microsoft Graph, a partir da propriedade id na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK.
Em alternativa, pode encontrar o ID do objeto como oid reclamação e o ID do inquilino como tid reclamação num token Microsoft Entra ou token de acesso Microsoft Entra , depois de o seu utilizador iniciar sessão e adquirir um token.
Utilização básica
// 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)
Referência da API
Desconhecido
O UnknownIdentifier existe para preparação para o futuro e você pode encontrá-lo quando estiver em uma versão antiga do SDK e um novo tipo de identificador for introduzido recentemente. Qualquer identificador desconhecido do serviço é desserializado para UnknownIdentifier no SDK.
Utilização básica
// create an identifier
let unknown = UnknownIdentifier("a raw id that originated in the service")
Referência da API
Como lidar com o CommunicationIdentifier protocolo base
Enquanto você constrói identificadores para um tipo concreto que você passa para o SDK, o SDK retorna o CommunicationIdentifier protocolo. É fácil fazer downcast de volta para um tipo de concreto e sugerimos uma instrução switch-case com correspondência de padrão:
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;
}
Representação de ID bruta
Às vezes, você precisa serializar um identificador para uma cadeia de caracteres plana. Por exemplo, se você deseja armazenar o identificador em uma tabela de banco de dados ou se deseja usá-lo como um parâmetro de URL.
Para esse efeito, os identificadores têm outra representação chamada RawId. Um identificador sempre pode ser traduzido para sua ID bruta correspondente, e uma ID bruta válida sempre pode ser convertida em um identificador.
Como Azure.Communication.Common 1.1.0 o SDK ajuda na conversão:
Swift
// get an identifier's raw Id
let rawId = communicationIdentifier.rawId;
// create an identifier from a given raw Id
let identifier = createCommunicationIdentifier(fromRawId: rawId);
Um ID bruto inválido é convertido em um UnknownIdentifier no SDK e qualquer validação só acontece no lado do serviço.
Utilizador de comunicação
O CommunicationUserIdentifier representa uma identidade de usuário criada usando o SDK de identidade ou a API REST. É o único identificador usado se seu aplicativo não usar recursos de interoperabilidade ou telefonia do Microsoft Teams.
Utilização básica
// 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);
Referência da API
Usuário do Microsoft Teams
O MicrosoftTeamsUserIdentifier representa um usuário do Teams com sua ID de objeto de usuário do Microsoft Entra. Você pode recuperar a ID do objeto de usuário do Microsoft Entra por meio do ponto de extremidade /users da API REST do id Microsoft Graph da propriedade na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK. Como alternativa, pode encontrar a ID como a oid declaração num token de ID ou token de acesso do Microsoft Entra depois de o utilizador fazer login e adquirir um token.
Utilização básica
// 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);
Referência da API
Número de telefone
O PhoneNumberIdentifier representa um número de telefone. O serviço assume que os números de telefone estão formatados no formato E.164.
Utilização básica
// create an identifier
PhoneNumberIdentifier phoneNumber = new PhoneNumberIdentifier("+112345556789");
Referência da API
Aplicação Microsoft Teams
A MicrosoftTeamsAppIdentifier interface representa um bot das aplicações do Microsoft Teams Voice, como Fila de Chamadas e Atendedor Automático, com o respetivo ID de objeto de bot do Microsoft Entra. Configure os aplicativos do Teams com uma conta de recurso. Você pode recuperar a ID do objeto bot do Microsoft Entra por meio do ponto de extremidade /users da API REST do Microsoft Graph da id propriedade na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK.
Utilização básica
// 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);
Referência da API
Usuário do Teams Extension
A TeamsExtensionUserIdentifier interface representa um usuário do Teams habilitado para Extensibilidade de Telefone do Teams. A TeamsExtensionUserIdentifier requer a ID do objeto de usuário do Microsoft Entra do usuário do Teams, a ID do locatário do Microsoft Entra onde o usuário reside e a ID do recurso dos Serviços de Comunicação do Azure. Você pode obter a ID do objeto de utilizador do Microsoft Entra através do ponto de extremidade /users da API REST do Microsoft Graph, a partir da propriedade id na resposta, e a ID do tenant do Microsoft Entra através do ponto de extremidade /organization da API REST do Microsoft Graph, a partir da propriedade id na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK.
Em alternativa, pode encontrar o ID do objeto como oid reclamação e o ID do inquilino como tid reclamação num token Microsoft Entra ou token de acesso Microsoft Entra , depois de o seu utilizador iniciar sessão e adquirir um token.
Utilização básica
// 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);
Referência da API
Desconhecido
O UnknownIdentifier existe para preparação para o futuro e você pode encontrá-lo quando estiver em uma versão antiga do SDK e um novo tipo de identificador for introduzido recentemente. Qualquer identificador desconhecido do serviço é desserializado para UnknownIdentifier no SDK.
Utilização básica
// create an identifier
UnknownIdentifier unknown = new UnknownIdentifier("a raw id that originated in the service");
Referência da API
Como lidar com a CommunicationIdentifier classe base
Enquanto você constrói identificadores para um tipo concreto que você passa para o SDK, o SDK retorna o abstrato CommunicationIdentifier. Você pode retroceder para um tipo de concreto:
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
}
Representação de ID bruta
Às vezes, você precisa serializar um identificador para uma cadeia de caracteres plana. Por exemplo, se você deseja armazenar o identificador em uma tabela de banco de dados ou se deseja usá-lo como um parâmetro de URL.
Para esse efeito, os identificadores têm outra representação chamada RawId. Um identificador sempre pode ser traduzido para sua ID bruta correspondente, e uma ID bruta válida sempre pode ser convertida em um identificador.
Como azure-communication-common 1.1.0 o SDK ajuda na conversão:
// get an identifier's raw Id
String rawId = communicationIdentifier.getRawId();
// create an identifier from a given raw Id
CommunicationIdentifier identifier = CommunicationIdentifier.fromRawId(rawId);
Um ID bruto inválido é convertido para UnknownIdentifier no SDK e qualquer validação só acontece do lado do servidor.
Em APIs REST, o identificador é um tipo polimórfico: você constrói um objeto JSON e uma propriedade que mapeia para um subtipo de identificador concreto. Por motivos de conveniência e compatibilidade com versões anteriores, as propriedades kind e rawId são opcionais em solicitações, mas são preenchidas em respostas de serviço.
Utilizador de comunicação
O CommunicationUserIdentifierModel representa uma identidade de usuário criada usando o SDK de identidade ou a API REST. É o único identificador usado se seu aplicativo não usar recursos de interoperabilidade ou telefonia do Microsoft Teams.
Utilização básica
// 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"
}
}
Você pode encontrar um exemplo para uma solicitação que inclui um identificador na API REST de bate-papo para adicionar um participante e um exemplo para uma resposta com um identificador em obter mensagem de bate-papo.
Referência da API
CommunicationUserIdentifierModel
Usuário do Microsoft Teams
O MicrosoftTeamsUserIdentifierModel representa um usuário do Teams com sua ID de objeto de usuário do Microsoft Entra. Você pode recuperar a ID do objeto de usuário do Microsoft Entra por meio do ponto de extremidade /users da API REST do id Microsoft Graph da propriedade na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK. Em alternativa, pode encontrar o identificador como uma reivindicação num token da Microsoft Entra ou num token de acesso da Microsoft Entra após o utilizador ter iniciado sessão e obtido um token.
Utilização básica
// 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"
}
}
Referência da API
MicrosoftTeamsUserIdentifierModel
Número de telefone
O PhoneNumberIdentifierModel representa um número de telefone. O serviço assume que os números de telefone estão formatados no formato E.164.
Utilização básica
// request
{
"phoneNumber": {
"value": "+112345556789"
}
}
// response
{
"kind": "phoneNumber",
"rawId": "4:+112345556789",
"phoneNumber": {
"value": "+112345556789"
}
}
Referência da API
Aplicação Microsoft Teams
O MicrosoftTeamsAppIdentifierModel representa um bot dos aplicativos do Teams Voice, como Fila de Chamadas e Atendedor Automático, com seu ID de objeto de bot do Microsoft Entra. Os aplicativos do Teams devem ser configurados com uma conta de recurso. Você pode recuperar a ID do objeto bot do Microsoft Entra por meio do ponto de extremidade /users da API REST do Microsoft Graph da id propriedade na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK.
Utilização básica
// 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"
}
}
Referência da API
MicrosoftTeamsAppIdentifierModel
Usuário do Teams Extension
A TeamsExtensionUserIdentifier interface representa um usuário do Teams habilitado para Extensibilidade de Telefone do Teams. A TeamsExtensionUserIdentifier requer a ID do objeto de usuário do Microsoft Entra do usuário do Teams, a ID do locatário do Microsoft Entra onde o usuário reside e a ID do recurso dos Serviços de Comunicação do Azure. Você pode obter a ID do objeto de utilizador do Microsoft Entra através do ponto de extremidade /users da API REST do Microsoft Graph, a partir da propriedade id na resposta, e a ID do tenant do Microsoft Entra através do ponto de extremidade /organization da API REST do Microsoft Graph, a partir da propriedade id na resposta. Para obter mais informações sobre como trabalhar com o Microsoft Graph, consulte Graph Explorer e examine o Graph SDK.
Em alternativa, pode encontrar o ID do objeto como a oid declaração e o ID do locatário como a tid declaração num token Microsoft Entra ou num token de acesso Microsoft Entra depois de o seu utilizador iniciar sessão e adquirir um token.
Utilização básica
// 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"
}
}
Referência da API
TeamsExtensionUserIdentifierModel
Desconhecido
Se um novo identificador for introduzido em um serviço, ele será rebaixado para o se você estiver em uma versão antiga da CommunicationIdentifierModel API.
Utilização básica
// request
{
"rawId": "a raw id that originated in the service"
}
// response
{
"kind": "unknown",
"rawId": "a raw id that originated in the service"
}
Referência da API
Como lidar com o CommunicationIdentifierModel nas respostas
As versões recentes da API preenchem uma kind propriedade que você pode usar para discriminar:
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;
}
Em versões mais antigas da API, a kind propriedade está ausente e você precisa verificar a subpropriedade correta:
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}`);
}
Representação de ID bruta
Às vezes, você precisa serializar um identificador para uma cadeia de caracteres plana. Por exemplo, se você deseja armazenar o identificador em uma tabela de banco de dados ou se deseja usá-lo como um parâmetro de URL.
Para esse efeito, os identificadores têm outra representação chamada RawId. Um identificador sempre pode ser traduzido para sua ID bruta correspondente, e uma ID bruta válida sempre pode ser convertida em um identificador.
Se você estiver usando o SDK do Azure, ele o ajudará com a conversão. Se você usar a API REST diretamente, precisará construir a ID bruta manualmente da seguinte maneira.
Utilizador de comunicação
Identificador:
{
"communicationUser": {
"id": "[communicationUserId]"
}
}
ID bruto:
[communicationUserId]
O ID bruto é o mesmo que communicationUser.id.
Usuário do Microsoft Teams
Identificador:
{
"microsoftTeamsUser": {
"userId": "[entraUserId]"
}
}
ID bruto:
8:orgid:[entraUserId]
A ID bruta é a ID do objeto de usuário do Microsoft Entra prefixada com 8:orgid:.
Identificador:
{
"microsoftTeamsUser": {
"userId": "[entraUserId]",
"cloud": "gcch"
}
}
ID bruto:
8:gcch:[entraUserId]
O ID bruto é o ID de objeto de usuário do Microsoft Entra prefixado com 8:gcch: ou 8:dod: dependendo do ambiente de nuvem.
Identificador:
{
"microsoftTeamsUser": {
"userId": "[visitorUserId]",
"isAnonymous": true
}
}
ID bruto:
8:teamsvisitor:[visitorUserId]
O ID bruto é o ID de visitante do Teams com o prefixo 8:teamsvisitor:. O ID de visitante do Teams é um ID temporário que o Teams gera para permitir o acesso à reunião.
Número de telefone
Identificador:
{
"phoneNumber": {
"value": "+1123455567"
}
}
ID bruto:
4:+1123455567
O ID bruto é o número de telefone formatado E.164 prefixado com 4:.
Aplicação Microsoft Teams
Identificador:
{
"microsoftTeamsApp": {
"appId": "[entraUserId]"
}
}
ID bruto:
28:orgid:[entraUserId]
A ID bruta é a ID de objeto de usuário do Microsoft Entra do aplicativo prefixada com 28:orgid:.
Identificador:
{
"microsoftTeamsUser": {
"userId": "[entraUserId]",
"cloud": "gcch"
}
}
ID bruto:
28:gcch:[entraUserId]
O ID bruto é o ID de objeto de usuário do Microsoft Entra do aplicativo prefixado com 28:gcch: ou 28:dod: dependendo do ambiente de nuvem.
Desconhecido
Identificador:
{
"rawId": "[unknown identifier id]"
}
ID bruto:
[unknown identifier id]
Se uma ID bruta for inválida, o serviço falhará na solicitação.
Próximos passos
- Para obter uma introdução às identidades de comunicação, consulte Modelo de identidade.
- Para saber como criar identidades rapidamente para teste, consulte o documento de início rápido de criação de identidades.
- Para saber como usar os Serviços de Comunicação junto com o Microsoft Teams, consulte Interoperabilidade do Teams.
- Para saber como usar uma ID bruta, consulte Casos de uso para identificadores de cadeia de caracteres em SDKs de comunicação.