Udostępnij za pośrednictwem


Opis typów identyfikatorów

Zestawy SDK usług komunikacyjnych i interfejsy API REST używają typu identyfikatora do identyfikowania osób komunikujących się z nimi. Na przykład identyfikatory określają, kto ma zadzwonić, lub kto wysłał wiadomość na czacie.

W zależności od kontekstu identyfikatory są opakowane dodatkowymi właściwościami, takimi jak wewnątrz ChatParticipant zestawu SDK czatu lub wewnątrz RemoteParticipant zestawu Sdk wywołującego.

W tym artykule poznasz różne typy identyfikatorów i sposób ich wyszukiwania w różnych językach programowania. Uzyskasz również wskazówki dotyczące sposobu ich używania.

Typ CommunicationIdentifier

Istnieją tożsamości użytkowników utworzone samodzielnie i istnieją tożsamości zewnętrzne. Użytkownicy i numery telefonów usługi Microsoft Teams to tożsamości zewnętrzne, które są dostępne w scenariuszach międzyoperacyjności. Każdy z tych różnych typów tożsamości ma odpowiadający mu identyfikator. Identyfikator jest typem ustrukturyzowanym, który zapewnia bezpieczeństwo typu i dobrze współpracuje z uzupełnianiem kodu edytora.

Użytkownik komunikacji

Interfejs CommunicationUserIdentifier reprezentuje tożsamość użytkownika utworzoną przy użyciu zestawu Identity SDK lub interfejsu API REST. Jest to jedyny identyfikator używany, jeśli aplikacja nie korzysta z funkcji współdziałania usługi Microsoft Teams ani telefonii.

Podstawowy sposób użycia

// 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 };

Odwołanie do interfejsu API

CommunicationUserIdentifier

Użytkownik aplikacji Microsoft Teams

Interfejs MicrosoftTeamsUserIdentifier reprezentuje użytkownika usługi Teams z identyfikatorem obiektu użytkownika Entra firmy Microsoft. Identyfikator obiektu użytkownika Entra firmy Microsoft można pobrać za pośrednictwem punktu końcowego interfejsu API REST programu Microsoft Graph /users z id właściwości w odpowiedzi. Aby uzyskać więcej informacji na temat pracy z programem Microsoft Graph, wypróbuj Eksploratora programu Graph i zapoznaj się z zestawem GRAPH SDK. Alternatywnie możesz znaleźć identyfikator jako oid oświadczenie w tokenie Firmy Microsoft Entra lub tokenie dostępu Firmy Microsoft Entra po zalogowaniu się użytkownika i uzyskaniu tokenu.

Podstawowy sposób użycia

// 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" };

Odwołanie do interfejsu API

MicrosoftTeamsUserIdentifier

Numer telefonu

Interfejs PhoneNumberIdentifier reprezentuje numer telefonu. Usługa zakłada, że numery telefonów są sformatowane w formacie E.164.

Podstawowy sposób użycia

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

Odwołanie do interfejsu API

PhoneNumberIdentifier

Aplikacja Microsoft Teams

Interfejs MicrosoftTeamsAppIdentifier reprezentuje bota aplikacji Teams Voice, takich jak kolejka wywołań i automatyczna obsługa z identyfikatorem obiektu bota Entra firmy Microsoft. Aplikacje usługi Teams należy skonfigurować przy użyciu konta zasobu. Identyfikator obiektu bota Entra firmy Microsoft można pobrać za pośrednictwem punktu końcowego interfejsu API REST programu Microsoft Graph /users z id właściwości w odpowiedzi. Aby uzyskać więcej informacji na temat pracy z programem Microsoft Graph, wypróbuj Eksploratora programu Graph i zapoznaj się z zestawem GRAPH SDK.

Podstawowy sposób użycia

// 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" };

Odwołanie do interfejsu API

MicrosoftTeamsAppIdentifier

Nieznane

Interfejs UnknownIdentifier istnieje na potrzeby sprawdzania przyszłości i można go napotkać, gdy korzystasz ze starej wersji zestawu SDK, a niedawno wprowadzono nowy typ identyfikatora. Każdy nieznany identyfikator usługi zostanie zdeserializowany do UnknownIdentifier zestawu SDK.

Podstawowy sposób użycia

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

Odwołanie do interfejsu API

Nieznanyidentifier

Jak obsługiwać CommunicationIdentifier interfejs podstawowy

Podczas tworzenia identyfikatorów konkretnego typu przekazywanego do zestawu SDK zestaw SDK zwraca wartość , która jest związkiem CommunicationIdentifierKinddyskryminowanym. Łatwo jest zawęzić do konkretnego typu i sugerujemy instrukcję switch-case z dopasowaniem wzorca:

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;
}

Interfejsy identyfikatorów zostały zaprojektowane tak, aby nie trzeba było określać kind w celu zmniejszenia szczegółowości, a dyskryminująca unia z właściwością kind jest używana tylko w przypadku powrotu z zestawu SDK. Jeśli jednak okaże się, że musisz przetłumaczyć identyfikator na odpowiadający mu typ unii dyskryminującej, możesz użyć tego pomocnika:

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

Nieprzetworzona reprezentacja identyfikatora

Czasami konieczne jest serializowanie identyfikatora do płaskiego ciągu. Jeśli na przykład chcesz przechowywać identyfikator w tabeli bazy danych lub jeśli chcesz użyć go jako parametru adresu URL.

W tym celu identyfikatory mają inną reprezentację o nazwie RawId. Identyfikator można zawsze przetłumaczyć na odpowiadający mu nieprzetworzony identyfikator, a prawidłowy nieprzetworzony identyfikator może być zawsze konwertowany na identyfikator.

Ponieważ azure-communication-common@2.1.0 zestaw SDK pomaga w konwersji:

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

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

Nieprawidłowy identyfikator pierwotny zostanie przekonwertowany tylko na element UnknownIdentifier w zestawie SDK, a każda walidacja odbywa się tylko po stronie usługi.

Użytkownik komunikacji

Reprezentuje CommunicationUserIdentifier tożsamość użytkownika, która została utworzona przy użyciu zestawu Identity SDK lub interfejsu API REST. Jest to jedyny identyfikator używany, jeśli aplikacja nie korzysta z funkcji współdziałania usługi Microsoft Teams ani telefonii.

Podstawowy sposób użycia

// 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);

Odwołanie do interfejsu API

CommunicationUserIdentifier

Użytkownik aplikacji Microsoft Teams

Obiekt MicrosoftTeamsUserIdentifier reprezentuje użytkownika usługi Teams z identyfikatorem obiektu użytkownika Entra firmy Microsoft. Identyfikator obiektu użytkownika Entra firmy Microsoft można pobrać za pośrednictwem punktu końcowego interfejsu API REST programu Microsoft Graph /users z id właściwości w odpowiedzi. Aby uzyskać więcej informacji na temat pracy z programem Microsoft Graph, wypróbuj Eksploratora programu Graph i zapoznaj się z zestawem GRAPH SDK. Alternatywnie możesz znaleźć identyfikator jako oid oświadczenie w tokenie Firmy Microsoft Entra lub tokenie dostępu Firmy Microsoft Entra po zalogowaniu się użytkownika i uzyskaniu tokenu.

Podstawowy sposób użycia

// 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);

Odwołanie do interfejsu API

MicrosoftTeamsUserIdentifier

Numer telefonu

Wartość PhoneNumberIdentifier reprezentuje numer telefonu. Usługa zakłada, że numery telefonów są sformatowane w formacie E.164.

Podstawowy sposób użycia

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

Odwołanie do interfejsu API

PhoneNumberIdentifier

Aplikacja Microsoft Teams

Interfejs MicrosoftTeamsAppIdentifier reprezentuje bota aplikacji Teams Voice, takich jak kolejka wywołań i automatyczna obsługa z identyfikatorem obiektu bota Entra firmy Microsoft. Aplikacje usługi Teams należy skonfigurować przy użyciu konta zasobu. Identyfikator obiektu bota Entra firmy Microsoft można pobrać za pośrednictwem punktu końcowego interfejsu API REST programu Microsoft Graph /users z id właściwości w odpowiedzi. Aby uzyskać więcej informacji na temat pracy z programem Microsoft Graph, wypróbuj Eksploratora programu Graph i zapoznaj się z zestawem GRAPH SDK.

Podstawowy sposób użycia

// 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);

Odwołanie do interfejsu API

MicrosoftTeamsAppIdentifier

Nieznane

Istnieje na UnknownIdentifier potrzeby sprawdzania przyszłości i możesz go napotkać, gdy korzystasz ze starej wersji zestawu SDK, a niedawno wprowadzono nowy typ identyfikatora. Każdy nieznany identyfikator usługi zostanie zdeserializowany do UnknownIdentifier zestawu SDK.

Podstawowy sposób użycia

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

Odwołanie do interfejsu API

Nieznanyidentifier

Jak obsługiwać klasę bazową CommunicationIdentifier

Podczas tworzenia identyfikatorów konkretnego typu przekazywanego do zestawu SDK zestaw SDK zwraca CommunicationIdentifier protokół. Łatwo jest rzutować w dół do konkretnego typu i sugerujemy instrukcję switch-case z dopasowaniem wzorca:

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;
}

Nieprzetworzona reprezentacja identyfikatora

Czasami konieczne jest serializowanie identyfikatora do płaskiego ciągu. Jeśli na przykład chcesz przechowywać identyfikator w tabeli bazy danych lub jeśli chcesz użyć go jako parametru adresu URL.

W tym celu identyfikatory mają inną reprezentację o nazwie RawId. Identyfikator można zawsze przetłumaczyć na odpowiadający mu nieprzetworzony identyfikator, a prawidłowy nieprzetworzony identyfikator może być zawsze konwertowany na identyfikator.

Ponieważ Azure.Communication.Common 1.2.0 zestaw SDK pomaga w konwersji:

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

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

Nieprawidłowy identyfikator pierwotny zostanie przekonwertowany tylko na element UnknownIdentifier w zestawie SDK, a każda walidacja odbywa się tylko po stronie usługi.

Użytkownik komunikacji

Reprezentuje CommunicationUserIdentifier tożsamość użytkownika, która została utworzona przy użyciu zestawu Identity SDK lub interfejsu API REST. Jest to jedyny identyfikator używany, jeśli aplikacja nie korzysta z funkcji współdziałania usługi Microsoft Teams ani telefonii.

Podstawowy sposób użycia

# 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)

Odwołanie do interfejsu API

CommunicationUserIdentifier

Użytkownik aplikacji Microsoft Teams

Obiekt MicrosoftTeamsUserIdentifier reprezentuje użytkownika usługi Teams z identyfikatorem obiektu użytkownika Entra firmy Microsoft. Identyfikator obiektu użytkownika Entra firmy Microsoft można pobrać za pośrednictwem punktu końcowego interfejsu API REST programu Microsoft Graph /users z id właściwości w odpowiedzi. Aby uzyskać więcej informacji na temat pracy z programem Microsoft Graph, wypróbuj Eksploratora programu Graph i zapoznaj się z zestawem GRAPH SDK. Alternatywnie możesz znaleźć identyfikator jako oid oświadczenie w tokenie Firmy Microsoft Entra lub tokenie dostępu Firmy Microsoft Entra po zalogowaniu się użytkownika i uzyskaniu tokenu.

Podstawowy sposób użycia

# 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)

Odwołanie do interfejsu API

MicrosoftTeamsUserIdentifier

Numer telefonu

Wartość PhoneNumberIdentifier reprezentuje numer telefonu. Usługa zakłada, że numery telefonów są sformatowane w formacie E.164.

Podstawowy sposób użycia

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

Odwołanie do interfejsu API

PhoneNumberIdentifier

Aplikacja Microsoft Teams

Interfejs MicrosoftTeamsAppIdentifier reprezentuje bota aplikacji Teams Voice, takich jak kolejka wywołań i automatyczna obsługa z identyfikatorem obiektu bota Entra firmy Microsoft. Aplikacje usługi Teams należy skonfigurować przy użyciu konta zasobu. Identyfikator obiektu bota Entra firmy Microsoft można pobrać za pośrednictwem punktu końcowego interfejsu API REST programu Microsoft Graph /users z id właściwości w odpowiedzi. Aby uzyskać więcej informacji na temat pracy z programem Microsoft Graph, wypróbuj Eksploratora programu Graph i zapoznaj się z zestawem GRAPH SDK.

Podstawowy sposób użycia

# 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
        )

Odwołanie do interfejsu API

MicrosoftTeamsAppIdentifier

Nieznane

Istnieje na UnknownIdentifier potrzeby sprawdzania przyszłości i możesz go napotkać, gdy korzystasz ze starej wersji zestawu SDK, a niedawno wprowadzono nowy typ identyfikatora. Każdy nieznany identyfikator usługi zostanie zdeserializowany do UnknownIdentifier zestawu SDK.

Podstawowy sposób użycia

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

Odwołanie do interfejsu API

Nieznanyidentifier

Jak obsługiwać klasę bazową CommunicationIdentifier

Podczas tworzenia identyfikatorów konkretnego typu przekazywanego do zestawu SDK zestaw SDK zwraca CommunicationIdentifier protokół. Konkretne klasy identyfikatorów to tylko protokół CommunicationIdentifier wraz z typem słownika o nazwie properties. W związku z tym można użyć dopasowania wzorca w zmiennej kind wystąpienia protokołu, aby przetłumaczyć na konkretny 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

Nieprzetworzona reprezentacja identyfikatora

Czasami konieczne jest serializowanie identyfikatora do płaskiego ciągu. Jeśli na przykład chcesz przechowywać identyfikator w tabeli bazy danych lub jeśli chcesz użyć go jako parametru adresu URL.

W tym celu identyfikatory mają inną reprezentację o nazwie RawId. Identyfikator można zawsze przetłumaczyć na odpowiadający mu nieprzetworzony identyfikator, a prawidłowy nieprzetworzony identyfikator może być zawsze konwertowany na identyfikator.

Zestaw SDK pomaga w konwersji:

# 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)

Nieprawidłowy identyfikator pierwotny zostanie przekonwertowany tylko na element UnknownIdentifier w zestawie SDK, a każda walidacja odbywa się tylko po stronie usługi.

Użytkownik komunikacji

Reprezentuje CommunicationUserIdentifier tożsamość użytkownika, która została utworzona przy użyciu zestawu Identity SDK lub interfejsu API REST. Jest to jedyny identyfikator używany, jeśli aplikacja nie korzysta z funkcji współdziałania usługi Microsoft Teams ani telefonii.

Podstawowy sposób użycia

// 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);

Odwołanie do interfejsu API

CommunicationUserIdentifier

Użytkownik aplikacji Microsoft Teams

Obiekt MicrosoftTeamsUserIdentifier reprezentuje użytkownika usługi Teams z identyfikatorem obiektu użytkownika Entra firmy Microsoft. Identyfikator obiektu użytkownika Entra firmy Microsoft można pobrać za pośrednictwem punktu końcowego interfejsu API REST programu Microsoft Graph /users z id właściwości w odpowiedzi. Aby uzyskać więcej informacji na temat pracy z programem Microsoft Graph, wypróbuj Eksploratora programu Graph i zapoznaj się z zestawem GRAPH SDK. Alternatywnie możesz znaleźć identyfikator jako oid oświadczenie w tokenie Firmy Microsoft Entra lub tokenie dostępu Firmy Microsoft Entra po zalogowaniu się użytkownika i uzyskaniu tokenu.

Podstawowy sposób użycia

// 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);

Odwołanie do interfejsu API

MicrosoftTeamsUserIdentifier

Numer telefonu

Wartość PhoneNumberIdentifier reprezentuje numer telefonu. Usługa zakłada, że numery telefonów są sformatowane w formacie E.164.

Podstawowy sposób użycia

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

Odwołanie do interfejsu API

PhoneNumberIdentifier

Aplikacja Microsoft Teams

Interfejs MicrosoftTeamsAppIdentifier reprezentuje bota aplikacji Teams Voice, takich jak kolejka wywołań i automatyczna obsługa z identyfikatorem obiektu bota Entra firmy Microsoft. Aplikacje usługi Teams należy skonfigurować przy użyciu konta zasobu. Identyfikator obiektu bota Entra firmy Microsoft można pobrać za pośrednictwem punktu końcowego interfejsu API REST programu Microsoft Graph /users z id właściwości w odpowiedzi. Aby uzyskać więcej informacji na temat pracy z programem Microsoft Graph, wypróbuj Eksploratora programu Graph i zapoznaj się z zestawem GRAPH SDK.

Podstawowy sposób użycia

// 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);

Odwołanie do interfejsu API

MicrosoftTeamsAppIdentifier

Nieznane

Istnieje na UnknownIdentifier potrzeby sprawdzania przyszłości i możesz go napotkać, gdy korzystasz ze starej wersji zestawu SDK, a niedawno wprowadzono nowy typ identyfikatora. Każdy nieznany identyfikator usługi zostanie zdeserializowany do UnknownIdentifier zestawu SDK.

Podstawowy sposób użycia

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

Odwołanie do interfejsu API

Nieznanyidentifier

Jak obsługiwać klasę bazową CommunicationIdentifier

Podczas tworzenia identyfikatorów konkretnego typu przekazywanego do zestawu SDK zestaw SDK zwraca abstrakcyjny CommunicationIdentifierelement . Można odlecieć z powrotem do konkretnego typu:

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("Unkown user: " + ((UnknownIdentifier)communicationIdentifier).getId());
}
else {
    // be careful here whether you want to throw because a new SDK version
        // can introduce new identifier types
}

Nieprzetworzona reprezentacja identyfikatora

Czasami konieczne jest serializowanie identyfikatora do płaskiego ciągu. Jeśli na przykład chcesz przechowywać identyfikator w tabeli bazy danych lub jeśli chcesz użyć go jako parametru adresu URL.

W tym celu identyfikatory mają inną reprezentację o nazwie RawId. Identyfikator można zawsze przetłumaczyć na odpowiadający mu nieprzetworzony identyfikator, a prawidłowy nieprzetworzony identyfikator może być zawsze konwertowany na identyfikator.

Ponieważ azure-communication-common 1.2.0 zestaw SDK pomaga w konwersji:

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

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

Nieprawidłowy identyfikator pierwotny zostanie przekonwertowany tylko na element UnknownIdentifier w zestawie SDK, a każda walidacja odbywa się tylko po stronie usługi.

Użytkownik komunikacji

Reprezentuje CommunicationUserIdentifier tożsamość użytkownika, która została utworzona przy użyciu zestawu Identity SDK lub interfejsu API REST. Jest to jedyny identyfikator używany, jeśli aplikacja nie korzysta z funkcji współdziałania usługi Microsoft Teams ani telefonii.

Podstawowy sposób użycia

// 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)

Odwołanie do interfejsu API

CommunicationUserIdentifier

Użytkownik aplikacji Microsoft Teams

Obiekt MicrosoftTeamsUserIdentifier reprezentuje użytkownika usługi Teams z identyfikatorem obiektu użytkownika Entra firmy Microsoft. Identyfikator obiektu użytkownika Entra firmy Microsoft można pobrać za pośrednictwem punktu końcowego interfejsu API REST programu Microsoft Graph /users z id właściwości w odpowiedzi. Aby uzyskać więcej informacji na temat pracy z programem Microsoft Graph, wypróbuj Eksploratora programu Graph i zapoznaj się z zestawem GRAPH SDK. Alternatywnie możesz znaleźć identyfikator jako oid oświadczenie w tokenie identyfikatora lub tokenie dostępu firmy Microsoft Entra po zalogowaniu się użytkownika i uzyskaniu tokenu.

Podstawowy sposób użycia

// 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)

Odwołanie do interfejsu API

MicrosoftTeamsUserIdentifier

Numer telefonu

Wartość PhoneNumberIdentifier reprezentuje numer telefonu. Usługa zakłada, że numery telefonów są sformatowane w formacie E.164.

Podstawowy sposób użycia

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

Odwołanie do interfejsu API

PhoneNumberIdentifier

Aplikacja Microsoft Teams

Interfejs MicrosoftTeamsAppIdentifier reprezentuje bota aplikacji Teams Voice, takich jak kolejka wywołań i automatyczna obsługa z identyfikatorem obiektu bota Entra firmy Microsoft. Aplikacje usługi Teams należy skonfigurować przy użyciu konta zasobu. Identyfikator obiektu bota Entra firmy Microsoft można pobrać za pośrednictwem punktu końcowego interfejsu API REST programu Microsoft Graph /users z id właściwości w odpowiedzi. Aby uzyskać więcej informacji na temat pracy z programem Microsoft Graph, wypróbuj Eksploratora programu Graph i zapoznaj się z zestawem GRAPH SDK.

Podstawowy sposób użycia

// 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)

Odwołanie do interfejsu API

MicrosoftTeamsAppIdentifier

Nieznane

Istnieje na UnknownIdentifier potrzeby sprawdzania przyszłości i możesz go napotkać, gdy korzystasz ze starej wersji zestawu SDK, a niedawno wprowadzono nowy typ identyfikatora. Każdy nieznany identyfikator usługi zostanie zdeserializowany do UnknownIdentifier zestawu SDK.

Podstawowy sposób użycia

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

Odwołanie do interfejsu API

Nieznanyidentifier

Jak obsługiwać CommunicationIdentifier protokół podstawowy

Podczas tworzenia identyfikatorów konkretnego typu przekazywanego do zestawu SDK zestaw SDK zwraca CommunicationIdentifier protokół. Łatwo jest odlecieć z powrotem do konkretnego typu i sugerujemy instrukcję switch-case z dopasowaniem wzorca:

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;
}

Nieprzetworzona reprezentacja identyfikatora

Czasami konieczne jest serializowanie identyfikatora do płaskiego ciągu. Jeśli na przykład chcesz przechowywać identyfikator w tabeli bazy danych lub jeśli chcesz użyć go jako parametru adresu URL.

W tym celu identyfikatory mają inną reprezentację o nazwie RawId. Identyfikator można zawsze przetłumaczyć na odpowiadający mu nieprzetworzony identyfikator, a prawidłowy nieprzetworzony identyfikator może być zawsze konwertowany na identyfikator.

Ponieważ Azure.Communication.Common 1.1.0 zestaw SDK pomaga w konwersji:

Swift

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

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

Nieprawidłowy identyfikator pierwotny zostanie przekonwertowany tylko na element UnknownIdentifier w zestawie SDK, a każda walidacja odbywa się tylko po stronie usługi.

Użytkownik komunikacji

Reprezentuje CommunicationUserIdentifier tożsamość użytkownika, która została utworzona przy użyciu zestawu Identity SDK lub interfejsu API REST. Jest to jedyny identyfikator używany, jeśli aplikacja nie korzysta z funkcji współdziałania usługi Microsoft Teams ani telefonii.

Podstawowy sposób użycia

// 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);

Odwołanie do interfejsu API

CommunicationUserIdentifier

Użytkownik aplikacji Microsoft Teams

Obiekt MicrosoftTeamsUserIdentifier reprezentuje użytkownika usługi Teams z identyfikatorem obiektu użytkownika Entra firmy Microsoft. Identyfikator obiektu użytkownika Entra firmy Microsoft można pobrać za pośrednictwem punktu końcowego interfejsu API REST programu Microsoft Graph /users z id właściwości w odpowiedzi. Aby uzyskać więcej informacji na temat pracy z programem Microsoft Graph, wypróbuj Eksploratora programu Graph i zapoznaj się z zestawem GRAPH SDK. Alternatywnie możesz znaleźć identyfikator jako oid oświadczenie w tokenie identyfikatora lub tokenie dostępu firmy Microsoft Entra po zalogowaniu się użytkownika i uzyskaniu tokenu.

Podstawowy sposób użycia

// 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);

Odwołanie do interfejsu API

MicrosoftTeamsUserIdentifier

Numer telefonu

Wartość PhoneNumberIdentifier reprezentuje numer telefonu. Usługa zakłada, że numery telefonów są sformatowane w formacie E.164.

Podstawowy sposób użycia

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

Odwołanie do interfejsu API

PhoneNumberIdentifier

Aplikacja Microsoft Teams

Interfejs MicrosoftTeamsAppIdentifier reprezentuje bota aplikacji Teams Voice, takich jak kolejka wywołań i automatyczna obsługa z identyfikatorem obiektu bota Entra firmy Microsoft. Aplikacje usługi Teams należy skonfigurować przy użyciu konta zasobu. Identyfikator obiektu bota Entra firmy Microsoft można pobrać za pośrednictwem punktu końcowego interfejsu API REST programu Microsoft Graph /users z id właściwości w odpowiedzi. Aby uzyskać więcej informacji na temat pracy z programem Microsoft Graph, wypróbuj Eksploratora programu Graph i zapoznaj się z zestawem GRAPH SDK.

Podstawowy sposób użycia

// 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);

Odwołanie do interfejsu API

MicrosoftTeamsAppIdentifier

Nieznane

Istnieje na UnknownIdentifier potrzeby sprawdzania przyszłości i możesz go napotkać, gdy korzystasz ze starej wersji zestawu SDK, a niedawno wprowadzono nowy typ identyfikatora. Każdy nieznany identyfikator usługi zostanie zdeserializowany do UnknownIdentifier zestawu SDK.

Podstawowy sposób użycia

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

Odwołanie do interfejsu API

Nieznanyidentifier

Jak obsługiwać klasę bazową CommunicationIdentifier

Podczas tworzenia identyfikatorów konkretnego typu przekazywanego do zestawu SDK zestaw SDK zwraca abstrakcyjny CommunicationIdentifierelement . Można odlecieć z powrotem do konkretnego typu:

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, "Unkown user: " + ((UnknownIdentifier)communicationIdentifier).getId());
}
else {
    // be careful here whether you want to throw because a new SDK version
    // can introduce new identifier types
}

Nieprzetworzona reprezentacja identyfikatora

Czasami konieczne jest serializowanie identyfikatora do płaskiego ciągu. Jeśli na przykład chcesz przechowywać identyfikator w tabeli bazy danych lub jeśli chcesz użyć go jako parametru adresu URL.

W tym celu identyfikatory mają inną reprezentację o nazwie RawId. Identyfikator można zawsze przetłumaczyć na odpowiadający mu nieprzetworzony identyfikator, a prawidłowy nieprzetworzony identyfikator może być zawsze konwertowany na identyfikator.

Ponieważ azure-communication-common 1.1.0 zestaw SDK pomaga w konwersji:

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

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

Nieprawidłowy identyfikator pierwotny zostanie przekonwertowany tylko na element UnknownIdentifier w zestawie SDK, a każda walidacja odbywa się tylko po stronie usługi.

W interfejsach API REST identyfikator jest typem polimorficznym: skonstruujesz obiekt JSON i właściwość, która jest mapowane na konkretny podtyp identyfikatora. Ze względów wygody i zgodności z poprzednimi wersjami właściwości i rawId są opcjonalne w żądaniach, kind ale są wypełniane w odpowiedziach usługi.

Użytkownik komunikacji

Reprezentuje CommunicationUserIdentifierModel tożsamość użytkownika, która została utworzona przy użyciu zestawu Identity SDK lub interfejsu API REST. Jest to jedyny identyfikator używany, jeśli aplikacja nie korzysta z funkcji współdziałania usługi Microsoft Teams ani telefonii.

Podstawowy sposób użycia


// 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"
    }
}

Możesz znaleźć przykład żądania zawierającego identyfikator w interfejsie API REST czatu na potrzeby dodawania uczestnika, a także przykład odpowiedzi z identyfikatorem w obszarze uzyskiwania wiadomości na czacie.

Odwołanie do interfejsu API

CommunicationUserIdentifierModel

Użytkownik aplikacji Microsoft Teams

Obiekt MicrosoftTeamsUserIdentifierModel reprezentuje użytkownika usługi Teams z identyfikatorem obiektu użytkownika Entra firmy Microsoft. Identyfikator obiektu użytkownika Entra firmy Microsoft można pobrać za pośrednictwem punktu końcowego interfejsu API REST programu Microsoft Graph /users z id właściwości w odpowiedzi. Aby uzyskać więcej informacji na temat pracy z programem Microsoft Graph, wypróbuj Eksploratora programu Graph i zapoznaj się z zestawem GRAPH SDK. Alternatywnie możesz znaleźć identyfikator jako oid oświadczenie w tokenie Firmy Microsoft Entra lub tokenie dostępu Firmy Microsoft Entra po zalogowaniu się użytkownika i uzyskaniu tokenu.

Podstawowy sposób użycia

// 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"
    }
}

Odwołanie do interfejsu API

MicrosoftTeamsUserIdentifierModel

Numer telefonu

Wartość PhoneNumberIdentifierModel reprezentuje numer telefonu. Usługa zakłada, że numery telefonów są sformatowane w formacie E.164.

Podstawowy sposób użycia

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

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

Odwołanie do interfejsu API

PhoneNumberIdentifierModel

Aplikacja Microsoft Teams

Reprezentuje MicrosoftTeamsAppIdentifierModel bota aplikacji Teams Voice, takich jak kolejka wywołań i automatyczna asystentka z identyfikatorem obiektu bota Entra firmy Microsoft. Aplikacje usługi Teams należy skonfigurować przy użyciu konta zasobu. Identyfikator obiektu bota Entra firmy Microsoft można pobrać za pośrednictwem punktu końcowego interfejsu API REST programu Microsoft Graph /users z id właściwości w odpowiedzi. Aby uzyskać więcej informacji na temat pracy z programem Microsoft Graph, wypróbuj Eksploratora programu Graph i zapoznaj się z zestawem GRAPH SDK.

Podstawowy sposób użycia

// 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"
    }
}

Odwołanie do interfejsu API

MicrosoftTeamsAppIdentifierModel

Nieznane

Jeśli nowy identyfikator zostanie wprowadzony w usłudze, zostanie on obniżony do CommunicationIdentifierModel klasy , jeśli korzystasz ze starej wersji interfejsu API.

Podstawowy sposób użycia

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

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

Odwołanie do interfejsu API

CommunicationIdentifierModel

Jak obsługiwać CommunicationIdentifierModel odpowiedzi w odpowiedziach

Najnowsze wersje interfejsu API wypełniają kind właściwość, której można użyć do dyskryminowania:

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;
}

W starszych wersjach kind interfejsu API brakuje właściwości i musisz sprawdzić istnienie odpowiedniego podwłaściwości:

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}`);
}

Nieprzetworzona reprezentacja identyfikatora

Czasami konieczne jest serializowanie identyfikatora do płaskiego ciągu. Jeśli na przykład chcesz przechowywać identyfikator w tabeli bazy danych lub jeśli chcesz użyć go jako parametru adresu URL.

W tym celu identyfikatory mają inną reprezentację o nazwie RawId. Identyfikator można zawsze przetłumaczyć na odpowiadający mu nieprzetworzony identyfikator, a prawidłowy nieprzetworzony identyfikator może być zawsze konwertowany na identyfikator.

Jeśli używasz zestawu Azure SDK, pomoże Ci to w konwersji. Jeśli bezpośrednio używasz interfejsu API REST, musisz ręcznie skonstruować nieprzetworzone identyfikatory zgodnie z poniższym opisem.

Użytkownik komunikacji

Identyfikator:

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

Nieprzetworzone identyfikatory:

[communicationUserId]

Nieprzetworzone identyfikatory są takie same jak communicationUser.id.

Użytkownik aplikacji Microsoft Teams

Identyfikator:

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

Nieprzetworzone identyfikatory:

8:orgid:[entraUserId]

Nieprzetworzony identyfikator to identyfikator obiektu użytkownika Entra firmy Microsoft poprzedzony prefiksem 8:orgid:.

Identyfikator:

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

Nieprzetworzone identyfikatory:

8:gcch:[entraUserId]

Nieprzetworzony identyfikator to identyfikator obiektu użytkownika Entra firmy Microsoft poprzedzony prefiksem 8:gcch: lub 8:dod: w zależności od środowiska chmury.

Identyfikator:

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

Nieprzetworzone identyfikatory:

8:teamsvisitor:[visitorUserId]

Nieprzetworzony identyfikator to identyfikator gościa aplikacji Teams poprzedzony prefiksem 8:teamsvisitor:. Identyfikator gościa usługi Teams jest tymczasowym identyfikatorem generowanym przez usługę Teams w celu umożliwienia dostępu do spotkania.

Numer telefonu

Identyfikator:

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

Nieprzetworzone identyfikatory:

4:+1123455567

Nieprzetworzony identyfikator to E.164 sformatowany numer telefonu poprzedzony prefiksem 4:.

Aplikacja Microsoft Teams

Identyfikator:

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

Nieprzetworzone identyfikatory:

28:orgid:[entraUserId]

Nieprzetworzony identyfikator to identyfikator obiektu entra aplikacji poprzedzony prefiksem 28:orgid:.

Identyfikator:

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

Nieprzetworzone identyfikatory:

28:gcch:[entraUserId]

Nieprzetworzony identyfikator to identyfikator obiektu entra aplikacji poprzedzony prefiksem 28:gcch: lub 28:dod: w zależności od środowiska chmury.

Nieznane

Identyfikator:

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

Nieprzetworzone identyfikatory:

[unknown identifier id]

Jeśli nieprzetworzonego identyfikatora jest nieprawidłowy, usługa zakończy się niepowodzeniem żądania.

Następne kroki

  • Aby zapoznać się z wprowadzeniem do tożsamości komunikacyjnych, zobacz Model tożsamości.
  • Aby dowiedzieć się, jak szybko tworzyć tożsamości na potrzeby testowania, zobacz przewodnik Szybki start dotyczący tożsamości.
  • Aby dowiedzieć się, jak korzystać z usług Communication Services razem z usługą Microsoft Teams, zobacz Współdziałanie usługi Teams.
  • Aby dowiedzieć się, jak używać nieprzetworzonego identyfikatora, zobacz Przypadki użycia identyfikatorów ciągów w zestawach SDK komunikacji.