Tanımlayıcı türlerini anlama

İletişim Hizmetleri SDK'ları ve REST API'leri, kimlerin kimlerle iletişim kuracaklarını belirlemek için tanımlayıcı türünü kullanır. Örneğin, tanımlayıcılar kimi arayacağını veya kimlerin sohbet iletisi gönderdiğini belirtir.

Bağlama bağlı olarak, tanımlayıcılar Sohbet SDK'sında veya RemoteParticipant Arama SDK'sında gibi ek özelliklerle ChatParticipant sarmalanmıştır.

Bu makalede, farklı tanımlayıcı türleri ve bunların programlama dillerinde nasıl göründüğü hakkında bilgi edineceksiniz. Bunların nasıl kullanılacağına ilişkin ipuçları da edineceksiniz.

CommunicationIdentifier türü

Kendi oluşturduğunuz kullanıcı kimlikleri ve dış kimlikler vardır. Microsoft Teams kullanıcıları ve telefon numaraları, birlikte çalışma senaryolarında oynamaya gelen dış kimliklerdir. Bu farklı kimlik türlerinin her biri, onu temsil eden bir tanımlayıcıya sahiptir. Tanımlayıcı, tür güvenliği sunan ve düzenleyicinizin kod tamamlama işlemiyle iyi çalışan yapılandırılmış bir türdür.

İletişim kullanıcısı

Arabirim, CommunicationUserIdentifier Kimlik SDK'sı veya REST API kullanılarak oluşturulmuş bir kullanıcı kimliğini temsil eder. Uygulamanız Microsoft Teams birlikte çalışabilirlik veya Telefon özelliklerini kullanmıyorsa kullanılan tek tanımlayıcıdır.

Temel kullanım

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

API başvurusu

CommunicationUserIdentifier

Microsoft Teams kullanıcısı

Arabirim, MicrosoftTeamsUserIdentifier Microsoft Entra kullanıcı nesne kimliğine sahip bir Teams kullanıcısını temsil eder. Yanıttaki özelliğinden id Microsoft Graph REST API/users uç noktası aracılığıyla Microsoft Entra kullanıcı nesnesi kimliğini alabilirsiniz. Microsoft Graph ile çalışma hakkında daha fazla bilgi için Graph Gezgini'ni deneyin ve Graph SDK'sını inceleyin. Alternatif olarak, kimliğini bir Microsoft Entra belirtecinde veya Kullanıcınız oturum açıp belirteç aldıktan sonra Microsoft Entra erişim belirtecinde talep olarak oid bulabilirsiniz.

Temel kullanım

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

API başvurusu

MicrosoftTeamsUserIdentifier

Telefon numarası

Arabirim PhoneNumberIdentifier bir telefon numarasını temsil eder. Hizmet, telefon numaralarının E.164 biçiminde biçimlendirildiğini varsayar.

Temel kullanım

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

API başvurusu

PhoneNumberIdentifier

Microsoft Teams Uygulaması

Arabirim, MicrosoftTeamsAppIdentifier Arama Kuyruğu ve Otomatik Santral gibi Teams Voice uygulamalarının Microsoft Entra bot nesne kimliğine sahip bir botunu temsil eder. Teams uygulamaları bir kaynak hesabıyla yapılandırılmalıdır. Yanıttaki özelliğinden id Microsoft Graph REST API/users uç noktası aracılığıyla Microsoft Entra botu nesne kimliğini alabilirsiniz. Microsoft Graph ile çalışma hakkında daha fazla bilgi için Graph Gezgini'ni deneyin ve Graph SDK'sını inceleyin.

Temel kullanım

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

API başvurusu

MicrosoftTeamsAppIdentifier

Bilinmiyor

Arabirim UnknownIdentifier gelecekte yazım denetleme için mevcuttur ve SDK'nın eski bir sürümündeyken ve yakın zamanda yeni bir tanımlayıcı türü kullanıma sunulduğunda bu arabirimle karşılaşabilirsiniz. Hizmetteki bilinmeyen tanımlayıcılar SDK'da için seri durumdan çıkarılır UnknownIdentifier .

Temel kullanım

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

API başvurusu

UnknownIdentifier

Temel arabirimi işleme CommunicationIdentifier

SDK'ya geçirdiğiniz somut bir türün tanımlayıcılarını oluştururken SDK, ayrımcı bir birleşim olan bir CommunicationIdentifierKinddöndürür. Somut bir türe daraltmak kolaydır ve desen eşleştirmeli bir switch-case deyimi öneririz:

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

Tanımlayıcı arabirimleri, ayrıntı düzeyini azaltmak için belirtmeniz kind gerekmeyecek şekilde tasarlanmıştır ve özelliğiyle kind ayırıcı birleşim yalnızca SDK'dan döndürüldüğünde kullanılır. Ancak, bir tanımlayıcıyı ilgili ayırıcı birleşim türüne çevirmeniz gerektiğini fark ederseniz şu yardımcıyı kullanabilirsiniz:

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

Ham Kimlik gösterimi

Bazen bir tanımlayıcıyı düz bir dizeye seri hale getirmeniz gerekir. Örneğin, tanımlayıcıyı bir veritabanı tablosunda depolamak istiyorsanız veya url parametresi olarak kullanmak istiyorsanız.

Bu amaçla, tanımlayıcıların adlı RawIdbaşka bir gösterimi vardır. Bir tanımlayıcı her zaman karşılık gelen ham kimliğine çevrilebilir ve geçerli bir ham kimlik her zaman bir tanımlayıcıya dönüştürülebilir.

SDK dönüştürmeye yardımcı olduğundan azure-communication-common@2.1.0 :

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

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

Geçersiz bir ham kimlik yalnızca SDK'da öğesine UnknownIdentifier dönüştürülür ve tüm doğrulamalar yalnızca hizmet tarafında gerçekleşir.

İletişim kullanıcısı

, CommunicationUserIdentifier Kimlik SDK'sı veya REST API kullanılarak oluşturulmuş bir kullanıcı kimliğini temsil eder. Uygulamanız Microsoft Teams birlikte çalışabilirlik veya Telefon özelliklerini kullanmıyorsa kullanılan tek tanımlayıcıdır.

Temel kullanım

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

API başvurusu

CommunicationUserIdentifier

Microsoft Teams kullanıcısı

, MicrosoftTeamsUserIdentifier Microsoft Entra kullanıcı nesne kimliğine sahip bir Teams kullanıcısını temsil eder. Yanıttaki özelliğinden id Microsoft Graph REST API/users uç noktası aracılığıyla Microsoft Entra kullanıcı nesnesi kimliğini alabilirsiniz. Microsoft Graph ile çalışma hakkında daha fazla bilgi için Graph Gezgini'ni deneyin ve Graph SDK'sını inceleyin. Alternatif olarak, kimliğini bir Microsoft Entra belirtecinde veya Kullanıcınız oturum açıp belirteç aldıktan sonra Microsoft Entra erişim belirtecinde talep olarak oid bulabilirsiniz.

Temel kullanım

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

API başvurusu

MicrosoftTeamsUserIdentifier

Telefon numarası

bir PhoneNumberIdentifier telefon numarasını temsil eder. Hizmet, telefon numaralarının E.164 biçiminde biçimlendirildiğini varsayar.

Temel kullanım

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

API başvurusu

PhoneNumberIdentifier

Microsoft Teams Uygulaması

Arabirim, MicrosoftTeamsAppIdentifier Arama Kuyruğu ve Otomatik Santral gibi Teams Voice uygulamalarının Microsoft Entra bot nesne kimliğine sahip bir botunu temsil eder. Teams uygulamaları bir kaynak hesabıyla yapılandırılmalıdır. Yanıttaki özelliğinden id Microsoft Graph REST API/users uç noktası aracılığıyla Microsoft Entra botu nesne kimliğini alabilirsiniz. Microsoft Graph ile çalışma hakkında daha fazla bilgi için Graph Gezgini'ni deneyin ve Graph SDK'sını inceleyin.

Temel kullanım

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

API başvurusu

MicrosoftTeamsAppIdentifier

Bilinmiyor

UnknownIdentifier gelecekte yazım denetleme için mevcuttur ve SDK'nın eski bir sürümündeyken ve yakın zamanda yeni bir tanımlayıcı türü kullanıma sunulduğunda bu sorunla karşılaşabilirsiniz. Hizmetteki bilinmeyen tanımlayıcılar SDK'da için seri durumdan çıkarılır UnknownIdentifier .

Temel kullanım

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

API başvurusu

UnknownIdentifier

Temel sınıfı işleme CommunicationIdentifier

SDK'ya geçirdiğiniz somut bir tür için tanımlayıcılar oluştururken, SDK protokolü döndürürCommunicationIdentifier. Somut bir türe kolayca geçiş yapabilirsiniz ve desen eşleştirmesi olan bir switch-case deyimi öneririz:

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

Ham Kimlik gösterimi

Bazen bir tanımlayıcıyı düz bir dizeye seri hale getirmeniz gerekir. Örneğin, tanımlayıcıyı bir veritabanı tablosunda depolamak istiyorsanız veya url parametresi olarak kullanmak istiyorsanız.

Bu amaçla, tanımlayıcıların adlı RawIdbaşka bir gösterimi vardır. Bir tanımlayıcı her zaman karşılık gelen ham kimliğine çevrilebilir ve geçerli bir ham kimlik her zaman bir tanımlayıcıya dönüştürülebilir.

SDK dönüştürmeye yardımcı olduğundan Azure.Communication.Common 1.2.0 :

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

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

Geçersiz bir ham kimlik yalnızca SDK'da öğesine UnknownIdentifier dönüştürülür ve tüm doğrulamalar yalnızca hizmet tarafında gerçekleşir.

İletişim kullanıcısı

, CommunicationUserIdentifier Kimlik SDK'sı veya REST API kullanılarak oluşturulmuş bir kullanıcı kimliğini temsil eder. Uygulamanız Microsoft Teams birlikte çalışabilirlik veya Telefon özelliklerini kullanmıyorsa kullanılan tek tanımlayıcıdır.

Temel kullanım

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

API başvurusu

CommunicationUserIdentifier

Microsoft Teams kullanıcısı

, MicrosoftTeamsUserIdentifier Microsoft Entra kullanıcı nesne kimliğine sahip bir Teams kullanıcısını temsil eder. Yanıttaki özelliğinden id Microsoft Graph REST API/users uç noktası aracılığıyla Microsoft Entra kullanıcı nesnesi kimliğini alabilirsiniz. Microsoft Graph ile çalışma hakkında daha fazla bilgi için Graph Gezgini'ni deneyin ve Graph SDK'sını inceleyin. Alternatif olarak, kimliğini bir Microsoft Entra belirtecinde veya Kullanıcınız oturum açıp belirteç aldıktan sonra Microsoft Entra erişim belirtecinde talep olarak oid bulabilirsiniz.

Temel kullanım

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

API başvurusu

MicrosoftTeamsUserIdentifier

Telefon numarası

bir PhoneNumberIdentifier telefon numarasını temsil eder. Hizmet, telefon numaralarının E.164 biçiminde biçimlendirildiğini varsayar.

Temel kullanım

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

API başvurusu

PhoneNumberIdentifier

Microsoft Teams Uygulaması

Arabirim, MicrosoftTeamsAppIdentifier Arama Kuyruğu ve Otomatik Santral gibi Teams Voice uygulamalarının Microsoft Entra bot nesne kimliğine sahip bir botunu temsil eder. Teams uygulamaları bir kaynak hesabıyla yapılandırılmalıdır. Yanıttaki özelliğinden id Microsoft Graph REST API/users uç noktası aracılığıyla Microsoft Entra botu nesne kimliğini alabilirsiniz. Microsoft Graph ile çalışma hakkında daha fazla bilgi için Graph Gezgini'ni deneyin ve Graph SDK'sını inceleyin.

Temel kullanım

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

API başvurusu

MicrosoftTeamsAppIdentifier

Bilinmiyor

UnknownIdentifier gelecekte yazım denetleme için mevcuttur ve SDK'nın eski bir sürümündeyken ve yakın zamanda yeni bir tanımlayıcı türü kullanıma sunulduğunda bu sorunla karşılaşabilirsiniz. Hizmetteki bilinmeyen tanımlayıcılar SDK'da için seri durumdan çıkarılır UnknownIdentifier .

Temel kullanım

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

API başvurusu

UnknownIdentifier

Temel sınıfı işleme CommunicationIdentifier

SDK'ya geçirdiğiniz somut bir tür için tanımlayıcılar oluştururken, SDK protokolü döndürürCommunicationIdentifier. Somut tanımlayıcı sınıfları yalnızca CommunicationIdentifier protokolü ve adlı propertiestürlenmiş bir sözlüktür. Bu nedenle, protokolün örnek değişkeninde kind desen eşleştirmeyi kullanarak somut türe çevirebilirsiniz:

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

Ham Kimlik gösterimi

Bazen bir tanımlayıcıyı düz bir dizeye seri hale getirmeniz gerekir. Örneğin, tanımlayıcıyı bir veritabanı tablosunda depolamak istiyorsanız veya url parametresi olarak kullanmak istiyorsanız.

Bu amaçla, tanımlayıcıların adlı RawIdbaşka bir gösterimi vardır. Bir tanımlayıcı her zaman karşılık gelen ham kimliğine çevrilebilir ve geçerli bir ham kimlik her zaman bir tanımlayıcıya dönüştürülebilir.

SDK, dönüştürmeye yardımcı olur:

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

Geçersiz bir ham kimlik yalnızca SDK'da öğesine UnknownIdentifier dönüştürülür ve tüm doğrulamalar yalnızca hizmet tarafında gerçekleşir.

İletişim kullanıcısı

, CommunicationUserIdentifier Kimlik SDK'sı veya REST API kullanılarak oluşturulmuş bir kullanıcı kimliğini temsil eder. Uygulamanız Microsoft Teams birlikte çalışabilirlik veya Telefon özelliklerini kullanmıyorsa kullanılan tek tanımlayıcıdır.

Temel kullanım

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

API başvurusu

CommunicationUserIdentifier

Microsoft Teams kullanıcısı

, MicrosoftTeamsUserIdentifier Microsoft Entra kullanıcı nesne kimliğine sahip bir Teams kullanıcısını temsil eder. Yanıttaki özelliğinden id Microsoft Graph REST API/users uç noktası aracılığıyla Microsoft Entra kullanıcı nesnesi kimliğini alabilirsiniz. Microsoft Graph ile çalışma hakkında daha fazla bilgi için Graph Gezgini'ni deneyin ve Graph SDK'sını inceleyin. Alternatif olarak, kimliğini bir Microsoft Entra belirtecinde veya Kullanıcınız oturum açıp belirteç aldıktan sonra Microsoft Entra erişim belirtecinde talep olarak oid bulabilirsiniz.

Temel kullanım

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

API başvurusu

MicrosoftTeamsUserIdentifier

Telefon numarası

bir PhoneNumberIdentifier telefon numarasını temsil eder. Hizmet, telefon numaralarının E.164 biçiminde biçimlendirildiğini varsayar.

Temel kullanım

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

API başvurusu

PhoneNumberIdentifier

Microsoft Teams Uygulaması

Arabirim, MicrosoftTeamsAppIdentifier Arama Kuyruğu ve Otomatik Santral gibi Teams Voice uygulamalarının Microsoft Entra bot nesne kimliğine sahip bir botunu temsil eder. Teams uygulamaları bir kaynak hesabıyla yapılandırılmalıdır. Yanıttaki özelliğinden id Microsoft Graph REST API/users uç noktası aracılığıyla Microsoft Entra botu nesne kimliğini alabilirsiniz. Microsoft Graph ile çalışma hakkında daha fazla bilgi için Graph Gezgini'ni deneyin ve Graph SDK'sını inceleyin.

Temel kullanım

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

API başvurusu

MicrosoftTeamsAppIdentifier

Bilinmiyor

UnknownIdentifier gelecekte yazım denetleme için mevcuttur ve SDK'nın eski bir sürümündeyken ve yakın zamanda yeni bir tanımlayıcı türü kullanıma sunulduğunda bu sorunla karşılaşabilirsiniz. Hizmetteki bilinmeyen tanımlayıcılar SDK'da için seri durumdan çıkarılır UnknownIdentifier .

Temel kullanım

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

API başvurusu

UnknownIdentifier

Temel sınıfı işleme CommunicationIdentifier

SDK'ya geçirdiğiniz somut bir tür için tanımlayıcılar oluştururken, SDK soyut CommunicationIdentifierdeğerini döndürür. Beton bir türe geri atabilirsiniz:

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
}

Ham Kimlik gösterimi

Bazen bir tanımlayıcıyı düz bir dizeye seri hale getirmeniz gerekir. Örneğin, tanımlayıcıyı bir veritabanı tablosunda depolamak istiyorsanız veya url parametresi olarak kullanmak istiyorsanız.

Bu amaçla, tanımlayıcıların adlı RawIdbaşka bir gösterimi vardır. Bir tanımlayıcı her zaman karşılık gelen ham kimliğine çevrilebilir ve geçerli bir ham kimlik her zaman bir tanımlayıcıya dönüştürülebilir.

SDK dönüştürmeye yardımcı olduğundan azure-communication-common 1.2.0 :

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

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

Geçersiz bir ham kimlik yalnızca SDK'da öğesine UnknownIdentifier dönüştürülür ve tüm doğrulamalar yalnızca hizmet tarafında gerçekleşir.

İletişim kullanıcısı

, CommunicationUserIdentifier Kimlik SDK'sı veya REST API kullanılarak oluşturulmuş bir kullanıcı kimliğini temsil eder. Uygulamanız Microsoft Teams birlikte çalışabilirlik veya Telefon özelliklerini kullanmıyorsa kullanılan tek tanımlayıcıdır.

Temel kullanım

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

API başvurusu

CommunicationUserIdentifier

Microsoft Teams kullanıcısı

, MicrosoftTeamsUserIdentifier Microsoft Entra kullanıcı nesne kimliğine sahip bir Teams kullanıcısını temsil eder. Yanıttaki özelliğinden id Microsoft Graph REST API/users uç noktası aracılığıyla Microsoft Entra kullanıcı nesnesi kimliğini alabilirsiniz. Microsoft Graph ile çalışma hakkında daha fazla bilgi için Graph Gezgini'ni deneyin ve Graph SDK'sını inceleyin. Alternatif olarak, kullanıcınız oturum açıp belirteç aldıktan sonra kimlik belirtecinde veya Microsoft Entra erişim belirtecinde talep olarak oid kimliği bulabilirsiniz.

Temel kullanım

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

API başvurusu

MicrosoftTeamsUserIdentifier

Telefon numarası

bir PhoneNumberIdentifier telefon numarasını temsil eder. Hizmet, telefon numaralarının E.164 biçiminde biçimlendirildiğini varsayar.

Temel kullanım

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

API başvurusu

PhoneNumberIdentifier

Microsoft Teams Uygulaması

Arabirim, MicrosoftTeamsAppIdentifier Arama Kuyruğu ve Otomatik Santral gibi Teams Voice uygulamalarının Microsoft Entra bot nesne kimliğine sahip bir botunu temsil eder. Teams uygulamaları bir kaynak hesabıyla yapılandırılmalıdır. Yanıttaki özelliğinden id Microsoft Graph REST API/users uç noktası aracılığıyla Microsoft Entra botu nesne kimliğini alabilirsiniz. Microsoft Graph ile çalışma hakkında daha fazla bilgi için Graph Gezgini'ni deneyin ve Graph SDK'sını inceleyin.

Temel kullanım

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

API başvurusu

MicrosoftTeamsAppIdentifier

Bilinmiyor

UnknownIdentifier gelecekte yazım denetleme için mevcuttur ve SDK'nın eski bir sürümündeyken ve yakın zamanda yeni bir tanımlayıcı türü kullanıma sunulduğunda bu sorunla karşılaşabilirsiniz. Hizmetteki bilinmeyen tanımlayıcılar SDK'da için seri durumdan çıkarılır UnknownIdentifier .

Temel kullanım

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

API başvurusu

UnknownIdentifier

Temel protokolü işleme CommunicationIdentifier

SDK'ya geçirdiğiniz somut bir tür için tanımlayıcılar oluştururken, SDK protokolü döndürürCommunicationIdentifier. Somut bir türe geri döndürmek kolaydır ve desen eşleştirmeli bir anahtar-servis talebi deyimi öneririz:

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

Ham Kimlik gösterimi

Bazen bir tanımlayıcıyı düz bir dizeye seri hale getirmeniz gerekir. Örneğin, tanımlayıcıyı bir veritabanı tablosunda depolamak istiyorsanız veya url parametresi olarak kullanmak istiyorsanız.

Bu amaçla, tanımlayıcıların adlı RawIdbaşka bir gösterimi vardır. Bir tanımlayıcı her zaman karşılık gelen ham kimliğine çevrilebilir ve geçerli bir ham kimlik her zaman bir tanımlayıcıya dönüştürülebilir.

SDK dönüştürmeye yardımcı olduğundan Azure.Communication.Common 1.1.0 :

Swift

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

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

Geçersiz bir ham kimlik yalnızca SDK'da öğesine UnknownIdentifier dönüştürülür ve tüm doğrulamalar yalnızca hizmet tarafında gerçekleşir.

İletişim kullanıcısı

, CommunicationUserIdentifier Kimlik SDK'sı veya REST API kullanılarak oluşturulmuş bir kullanıcı kimliğini temsil eder. Uygulamanız Microsoft Teams birlikte çalışabilirlik veya Telefon özelliklerini kullanmıyorsa kullanılan tek tanımlayıcıdır.

Temel kullanım

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

API başvurusu

CommunicationUserIdentifier

Microsoft Teams kullanıcısı

, MicrosoftTeamsUserIdentifier Microsoft Entra kullanıcı nesne kimliğine sahip bir Teams kullanıcısını temsil eder. Yanıttaki özelliğinden id Microsoft Graph REST API/users uç noktası aracılığıyla Microsoft Entra kullanıcı nesnesi kimliğini alabilirsiniz. Microsoft Graph ile çalışma hakkında daha fazla bilgi için Graph Gezgini'ni deneyin ve Graph SDK'sını inceleyin. Alternatif olarak, kullanıcınız oturum açıp belirteç aldıktan sonra kimlik belirtecinde veya Microsoft Entra erişim belirtecinde talep olarak oid kimliği bulabilirsiniz.

Temel kullanım

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

API başvurusu

MicrosoftTeamsUserIdentifier

Telefon numarası

bir PhoneNumberIdentifier telefon numarasını temsil eder. Hizmet, telefon numaralarının E.164 biçiminde biçimlendirildiğini varsayar.

Temel kullanım

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

API başvurusu

PhoneNumberIdentifier

Microsoft Teams Uygulaması

Arabirim, MicrosoftTeamsAppIdentifier Arama Kuyruğu ve Otomatik Santral gibi Teams Voice uygulamalarının Microsoft Entra bot nesne kimliğine sahip bir botunu temsil eder. Teams uygulamaları bir kaynak hesabıyla yapılandırılmalıdır. Yanıttaki özelliğinden id Microsoft Graph REST API/users uç noktası aracılığıyla Microsoft Entra botu nesne kimliğini alabilirsiniz. Microsoft Graph ile çalışma hakkında daha fazla bilgi için Graph Gezgini'ni deneyin ve Graph SDK'sını inceleyin.

Temel kullanım

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

API başvurusu

MicrosoftTeamsAppIdentifier

Bilinmiyor

UnknownIdentifier gelecekte yazım denetleme için mevcuttur ve SDK'nın eski bir sürümündeyken ve yakın zamanda yeni bir tanımlayıcı türü kullanıma sunulduğunda bu sorunla karşılaşabilirsiniz. Hizmetteki bilinmeyen tanımlayıcılar SDK'da için seri durumdan çıkarılır UnknownIdentifier .

Temel kullanım

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

API başvurusu

UnknownIdentifier

Temel sınıfı işleme CommunicationIdentifier

SDK'ya geçirdiğiniz somut bir tür için tanımlayıcılar oluştururken, SDK soyut CommunicationIdentifierdeğerini döndürür. Beton bir türe geri atabilirsiniz:

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
}

Ham Kimlik gösterimi

Bazen bir tanımlayıcıyı düz bir dizeye seri hale getirmeniz gerekir. Örneğin, tanımlayıcıyı bir veritabanı tablosunda depolamak istiyorsanız veya url parametresi olarak kullanmak istiyorsanız.

Bu amaçla, tanımlayıcıların adlı RawIdbaşka bir gösterimi vardır. Bir tanımlayıcı her zaman karşılık gelen ham kimliğine çevrilebilir ve geçerli bir ham kimlik her zaman bir tanımlayıcıya dönüştürülebilir.

SDK dönüştürmeye yardımcı olduğundan azure-communication-common 1.1.0 :

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

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

Geçersiz bir ham kimlik yalnızca SDK'da öğesine UnknownIdentifier dönüştürülür ve tüm doğrulamalar yalnızca hizmet tarafında gerçekleşir.

REST API'lerinde tanımlayıcı çok biçimli bir türdür: JSON nesnesi ve somut tanımlayıcı alt türüne eşleyen bir özellik oluşturursunuz. Kolaylık ve geriye dönük uyumluluk nedenleriyle kind ve rawId özellikleri isteklerde isteğe bağlıdır ancak hizmet yanıtlarında doldurulur.

İletişim kullanıcısı

, CommunicationUserIdentifierModel Kimlik SDK'sı veya REST API kullanılarak oluşturulmuş bir kullanıcı kimliğini temsil eder. Uygulamanız Microsoft Teams birlikte çalışabilirlik veya Telefon özelliklerini kullanmıyorsa kullanılan tek tanımlayıcıdır.

Temel kullanım


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

Katılımcı eklemek için Sohbet'in REST API'sinde tanımlayıcı içeren bir istek örneği ve sohbet iletisini al altında tanımlayıcı içeren bir yanıt örneği bulabilirsiniz.

API başvurusu

CommunicationUserIdentifierModel

Microsoft Teams kullanıcısı

, MicrosoftTeamsUserIdentifierModel Microsoft Entra kullanıcı nesne kimliğine sahip bir Teams kullanıcısını temsil eder. Yanıttaki özelliğinden id Microsoft Graph REST API/users uç noktası aracılığıyla Microsoft Entra kullanıcı nesnesi kimliğini alabilirsiniz. Microsoft Graph ile çalışma hakkında daha fazla bilgi için Graph Gezgini'ni deneyin ve Graph SDK'sını inceleyin. Alternatif olarak, kimliğini bir Microsoft Entra belirtecinde veya Kullanıcınız oturum açıp belirteç aldıktan sonra Microsoft Entra erişim belirtecinde talep olarak oid bulabilirsiniz.

Temel kullanım

// request
{
    "microsoftTeamsUser": {
        "userId": "daba101a-91c5-44c9-bb9b-e2a9a790571a"
    }
}

// response
{
    "kind": "microsoftTeamsUser",
    "rawId": "8:orgid:daba101a-91c5-44c9-bb9b-e2a9a790571a",
    "microsoftTeamsUser": {
        "userId": "daba101a-91c5-44c9-bb9b-e2a9a790571a"
    }
}


// if you're not operating in the public cloud, you must also pass the right Cloud type in a request
{
    "microsoftTeamsUser": {
        "userId": "daba101a-91c5-44c9-bb9b-e2a9a790571a",
        "cloud": "gcch"
    }
}

// response
{
    "kind": "microsoftTeamsUser",
    "rawId": "8:gcch:daba101a-91c5-44c9-bb9b-e2a9a790571a",
    "microsoftTeamsUser": {
        "userId": "daba101a-91c5-44c9-bb9b-e2a9a790571a",
        "isAnonymous": false,
        "cloud": "gcch"
    }
}

API başvurusu

MicrosoftTeamsUserIdentifierModel

Telefon numarası

bir PhoneNumberIdentifierModel telefon numarasını temsil eder. Hizmet, telefon numaralarının E.164 biçiminde biçimlendirildiğini varsayar.

Temel kullanım

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

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

API başvurusu

PhoneNumberIdentifierModel

Microsoft Teams Uygulaması

, MicrosoftTeamsAppIdentifierModel Arama Kuyruğu ve Otomatik Santral gibi Teams Voice uygulamalarının Microsoft Entra bot nesne kimliğine sahip bir botunu temsil eder. Teams uygulamaları bir kaynak hesabıyla yapılandırılmalıdır. Yanıttaki özelliğinden id Microsoft Graph REST API/users uç noktası aracılığıyla Microsoft Entra botu nesne kimliğini alabilirsiniz. Microsoft Graph ile çalışma hakkında daha fazla bilgi için Graph Gezgini'ni deneyin ve Graph SDK'sını inceleyin.

Temel kullanım

// request
{
    "microsoftTeamsApp": {
        "appId": "45ab2481-1c1c-4005-be24-0ffb879b1130"
    }
}

// response
{
    "kind": "microsoftTeamsApp",
    "rawId": "28:orgid:45ab2481-1c1c-4005-be24-0ffb879b1130",
    "microsoftTeamsApp": {
        "appId": "45ab2481-1c1c-4005-be24-0ffb879b1130"
    }
}


// if you're not operating in the public cloud, you must also pass the right Cloud type in a request
{
    "microsoftTeamsApp": {
        "appId": "45ab2481-1c1c-4005-be24-0ffb879b1130",
        "cloud": "gcch"
    }
}

// response
{
    "kind": "microsoftTeamsApp",
    "rawId": "28:gcch:45ab2481-1c1c-4005-be24-0ffb879b1130",
    "microsoftTeamsApp": {
        "appId": "45ab2481-1c1c-4005-be24-0ffb879b1130",
        "cloud": "gcch"
    }
}

API başvurusu

MicrosoftTeamsAppIdentifierModel

Bilinmiyor

Bir hizmette yeni bir tanımlayıcı tanıtılırsa, eski bir API sürümü kullanıyorsanız bu tanımlayıcıya CommunicationIdentifierModel indirilir.

Temel kullanım

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

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

API başvurusu

CommunicationIdentifierModel

yanıtlarda nasıl CommunicationIdentifierModel işlenir?

Son API sürümleri, aşağıdakilerde ayrım yapmak için kullanabileceğiniz bir kind özelliği doldurur:

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

Eski API sürümlerinde kind özelliği eksiktir ve doğru alt özelliğin varlığını denetlemeniz gerekir:

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

Ham Kimlik gösterimi

Bazen bir tanımlayıcıyı düz bir dizeye seri hale getirmeniz gerekir. Örneğin, tanımlayıcıyı bir veritabanı tablosunda depolamak istiyorsanız veya url parametresi olarak kullanmak istiyorsanız.

Bu amaçla, tanımlayıcıların adlı RawIdbaşka bir gösterimi vardır. Bir tanımlayıcı her zaman karşılık gelen ham kimliğine çevrilebilir ve geçerli bir ham kimlik her zaman bir tanımlayıcıya dönüştürülebilir.

Azure SDK'sını kullanıyorsanız dönüştürme işleminde size yardımcı olur. REST API'yi doğrudan kullanıyorsanız, ham kimliği aşağıda açıklandığı gibi el ile oluşturmanız gerekir.

İletişim kullanıcısı

Tanımlayıcı:

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

Ham Kimlik:

[communicationUserId]

Ham kimlik ile aynıdır communicationUser.id.

Microsoft Teams kullanıcısı

Tanımlayıcı:

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

Ham Kimlik:

8:orgid:[entraUserId]

Ham kimlik, ön ekli Microsoft Entra kullanıcı nesnesi kimliğidir 8:orgid:.

Tanımlayıcı:

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

Ham Kimlik:

8:gcch:[entraUserId]

Ham kimlik, veya bulut ortamına bağlı olarak ön ekli 8:gcch: 8:dod: Microsoft Entra kullanıcı nesnesi kimliğidir.

Tanımlayıcı:

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

Ham Kimlik:

8:teamsvisitor:[visitorUserId]

Ham kimlik, ön 8:teamsvisitor:ekinde bulunan Teams ziyaretçi kimliğidir. Teams ziyaretçi kimliği, Teams'in toplantı erişimini etkinleştirmek için oluşturduğu geçici bir kimliktir.

Telefon numarası

Tanımlayıcı:

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

Ham Kimlik:

4:+1123455567

Ham kimlik, ön ekli E.164 biçimli telefon numarasıdır 4:.

Microsoft Teams uygulaması

Tanımlayıcı:

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

Ham Kimlik:

28:orgid:[entraUserId]

Ham kimlik, uygulamanın ön ekli Entra kullanıcı nesnesi kimliğidir 28:orgid:.

Tanımlayıcı:

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

Ham Kimlik:

28:gcch:[entraUserId]

Ham kimlik, uygulamanın bulut ortamına 28:gcch: 28:dod: veya bağlı olarak önekli Entra kullanıcı nesnesi kimliğidir.

Bilinmiyor

Tanımlayıcı:

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

Ham Kimlik:

[unknown identifier id]

Ham kimlik geçersizse, hizmet istekte başarısız olur.

Sonraki adımlar

  • İletişim kimliklerine giriş için bkz . Kimlik modeli.
  • Test için hızla kimlik oluşturmayı öğrenmek için hızlı kimlik oluşturma hızlı başlangıcına bakın.
  • İletişim Hizmetleri'ni Microsoft Teams ile birlikte kullanmayı öğrenmek için bkz . Teams birlikte çalışabilirliği.
  • Ham Kimlik kullanmayı öğrenmek için bkz . İletişim SDK'larında dize tanımlayıcıları için kullanım örnekleri.