Las API de la /beta versión de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en v1.0, use el selector de versiones.
Nota: El permiso Teamwork.Migrate.All solo se admite para la migración.
En el futuro, Microsoft puede solicitarle a usted o a sus clientes que paguen tarifas adicionales en función de la cantidad de datos que se importen.
Nota: los permisos marcados con ** están en desuso y no deberían usarse.
Solicitud HTTP
POST /teams
Encabezados de solicitud
Encabezado
Valor
Authorization
{token} de portador. Obligatorio.
Content-Type
application/json. Obligatorio.
Cuerpo de la solicitud
En el cuerpo de la solicitud, agregue una representación JSON del objeto team.
Respuesta
Si se ejecuta de manera correcta, esta API devuelve una respuesta 202 Accepted que contiene un vínculo al elemento teamsAsyncOperation.
Ejemplos
Ejemplo 1: permisos delegados
Este es un ejemplo de una solicitud mínima. Al omitir otras propiedades, el cliente usa de forma implícita los valores predeterminados de la plantilla predefinida representada por template.
POST https://graph.microsoft.com/beta/teams
Content-Type: application/json
{
"template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('standard')",
"displayName": "My Sample Team",
"description": "My Sample Team’s Description"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var team = new Team
{
DisplayName = "My Sample Team",
Description = "My Sample Team’s Description",
AdditionalData = new Dictionary<string, object>()
{
{"template@odata.bind", "https://graph.microsoft.com/beta/teamsTemplates('standard')"}
}
};
await graphClient.Teams
.Request()
.AddAsync(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
Team team = new Team();
team.additionalDataManager().put("template@odata.bind", new JsonPrimitive("https://graph.microsoft.com/beta/teamsTemplates('standard')"));
team.displayName = "My Sample Team";
team.description = "My Sample Team’s Description";
graphClient.teams()
.buildRequest()
.post(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewTeam()
displayName := "My Sample Team"
requestBody.SetDisplayName(&displayName)
description := "My Sample Team’s Description"
requestBody.SetDescription(&description)
requestBody.SetAdditionalData(map[string]interface{}{
"template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('standard')",
}
options := &msgraphsdk.TeamsRequestBuilderPostOptions{
Body: requestBody,
}
result, err := graphClient.Teams().Post(options)
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Este es un ejemplo de una solicitud mínima con permisos de aplicación. Al omitir otras propiedades, el cliente usa de forma implícita los valores predeterminados de la plantilla predefinida representada por template. Al emitir una solicitud con permisos de aplicación, es necesario especificar un usuario en la colección members.
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var team = new Team
{
DisplayName = "My Sample Team",
Description = "My Sample Team’s Description",
Members = new TeamMembersCollectionPage()
{
new AadUserConversationMember
{
Roles = new List<String>()
{
"owner"
},
AdditionalData = new Dictionary<string, object>()
{
{"user@odata.bind", "https://graph.microsoft.com/beta/users('0040b377-61d8-43db-94f5-81374122dc7e')"}
}
}
},
AdditionalData = new Dictionary<string, object>()
{
{"template@odata.bind", "https://graph.microsoft.com/beta/teamsTemplates('standard')"}
}
};
await graphClient.Teams
.Request()
.AddAsync(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
Team team = new Team();
team.additionalDataManager().put("template@odata.bind", new JsonPrimitive("https://graph.microsoft.com/beta/teamsTemplates('standard')"));
team.displayName = "My Sample Team";
team.description = "My Sample Team’s Description";
LinkedList<ConversationMember> membersList = new LinkedList<ConversationMember>();
AadUserConversationMember members = new AadUserConversationMember();
LinkedList<String> rolesList = new LinkedList<String>();
rolesList.add("owner");
members.roles = rolesList;
members.additionalDataManager().put("user@odata.bind", new JsonPrimitive("https://graph.microsoft.com/beta/users('0040b377-61d8-43db-94f5-81374122dc7e')"));
membersList.add(members);
ConversationMemberCollectionResponse conversationMemberCollectionResponse = new ConversationMemberCollectionResponse();
conversationMemberCollectionResponse.value = membersList;
ConversationMemberCollectionPage conversationMemberCollectionPage = new ConversationMemberCollectionPage(conversationMemberCollectionResponse, null);
team.members = conversationMemberCollectionPage;
graphClient.teams()
.buildRequest()
.post(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewTeam()
displayName := "My Sample Team"
requestBody.SetDisplayName(&displayName)
description := "My Sample Team’s Description"
requestBody.SetDescription(&description)
requestBody.SetMembers( []ConversationMember {
msgraphsdk.NewConversationMember(),
SetAdditionalData(map[string]interface{}{
"@odata.type": "#microsoft.graph.aadUserConversationMember",
"roles": []String {
"owner",
}
"user@odata.bind": "https://graph.microsoft.com/beta/users('0040b377-61d8-43db-94f5-81374122dc7e')",
}
}
requestBody.SetAdditionalData(map[string]interface{}{
"template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('standard')",
}
options := &msgraphsdk.TeamsRequestBuilderPostOptions{
Body: requestBody,
}
result, err := graphClient.Teams().Post(options)
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Ejemplo 3: crear un equipo con varios canales, aplicaciones instaladas y pestañas ancladas mediante permisos delegados
La siguiente es una solicitud con una carga completa. El cliente puede reemplazar los valores de la plantilla base y agregarlos a los elementos con valor de matriz en la medida que lo permiten las reglas de validación para la specialization.
POST https://graph.microsoft.com/beta/teams
Content-Type: application/json
{
"template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('standard')",
"visibility": "Private",
"displayName": "Sample Engineering Team",
"description": "This is a sample engineering team, used to showcase the range of properties supported by this API",
"channels": [
{
"displayName": "Announcements 📢",
"isFavoriteByDefault": true,
"description": "This is a sample announcements channel that is favorited by default. Use this channel to make important team, product, and service announcements."
},
{
"displayName": "Training 🏋️",
"isFavoriteByDefault": true,
"description": "This is a sample training channel, that is favorited by default, and contains an example of pinned website and YouTube tabs.",
"tabs": [
{
"teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.web')",
"displayName": "A Pinned Website",
"configuration": {
"contentUrl": "https://docs.microsoft.com/microsoftteams/microsoft-teams"
}
},
{
"teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.youtube')",
"displayName": "A Pinned YouTube Video",
"configuration": {
"contentUrl": "https://tabs.teams.microsoft.com/Youtube/Home/YoutubeTab?videoId=X8krAMdGvCQ",
"websiteUrl": "https://www.youtube.com/watch?v=X8krAMdGvCQ"
}
}
]
},
{
"displayName": "Planning 📅 ",
"description": "This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu.",
"isFavoriteByDefault": false
},
{
"displayName": "Issues and Feedback 🐞",
"description": "This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu."
}
],
"memberSettings": {
"allowCreateUpdateChannels": true,
"allowDeleteChannels": true,
"allowAddRemoveApps": true,
"allowCreateUpdateRemoveTabs": true,
"allowCreateUpdateRemoveConnectors": true
},
"guestSettings": {
"allowCreateUpdateChannels": false,
"allowDeleteChannels": false
},
"funSettings": {
"allowGiphy": true,
"giphyContentRating": "Moderate",
"allowStickersAndMemes": true,
"allowCustomMemes": true
},
"messagingSettings": {
"allowUserEditMessages": true,
"allowUserDeleteMessages": true,
"allowOwnerDeleteMessages": true,
"allowTeamMentions": true,
"allowChannelMentions": true
},
"discoverySettings": {
"showInTeamsSearchAndSuggestions": true
},
"installedApps": [
{
"teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.vsts')"
},
{
"teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('1542629c-01b3-4a6d-8f76-1938b779e48d')"
}
]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var team = new Team
{
Visibility = TeamVisibilityType.Private,
DisplayName = "Sample Engineering Team",
Description = "This is a sample engineering team, used to showcase the range of properties supported by this API",
Channels = new TeamChannelsCollectionPage()
{
new Channel
{
DisplayName = "Announcements 📢",
IsFavoriteByDefault = true,
Description = "This is a sample announcements channel that is favorited by default. Use this channel to make important team, product, and service announcements."
},
new Channel
{
DisplayName = "Training 🏋️",
IsFavoriteByDefault = true,
Description = "This is a sample training channel, that is favorited by default, and contains an example of pinned website and YouTube tabs.",
Tabs = new ChannelTabsCollectionPage()
{
new TeamsTab
{
DisplayName = "A Pinned Website",
Configuration = new TeamsTabConfiguration
{
ContentUrl = "https://docs.microsoft.com/microsoftteams/microsoft-teams"
},
AdditionalData = new Dictionary<string, object>()
{
{"teamsApp@odata.bind", "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.web')"}
}
},
new TeamsTab
{
DisplayName = "A Pinned YouTube Video",
Configuration = new TeamsTabConfiguration
{
ContentUrl = "https://tabs.teams.microsoft.com/Youtube/Home/YoutubeTab?videoId=X8krAMdGvCQ",
WebsiteUrl = "https://www.youtube.com/watch?v=X8krAMdGvCQ"
},
AdditionalData = new Dictionary<string, object>()
{
{"teamsApp@odata.bind", "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.youtube')"}
}
}
}
},
new Channel
{
DisplayName = "Planning 📅 ",
Description = "This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu.",
IsFavoriteByDefault = false
},
new Channel
{
DisplayName = "Issues and Feedback 🐞",
Description = "This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu."
}
},
MemberSettings = new TeamMemberSettings
{
AllowCreateUpdateChannels = true,
AllowDeleteChannels = true,
AllowAddRemoveApps = true,
AllowCreateUpdateRemoveTabs = true,
AllowCreateUpdateRemoveConnectors = true
},
GuestSettings = new TeamGuestSettings
{
AllowCreateUpdateChannels = false,
AllowDeleteChannels = false
},
FunSettings = new TeamFunSettings
{
AllowGiphy = true,
GiphyContentRating = GiphyRatingType.Moderate,
AllowStickersAndMemes = true,
AllowCustomMemes = true
},
MessagingSettings = new TeamMessagingSettings
{
AllowUserEditMessages = true,
AllowUserDeleteMessages = true,
AllowOwnerDeleteMessages = true,
AllowTeamMentions = true,
AllowChannelMentions = true
},
DiscoverySettings = new TeamDiscoverySettings
{
ShowInTeamsSearchAndSuggestions = true
},
InstalledApps = new TeamInstalledAppsCollectionPage()
{
new TeamsAppInstallation
{
AdditionalData = new Dictionary<string, object>()
{
{"teamsApp@odata.bind", "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.vsts')"}
}
},
new TeamsAppInstallation
{
AdditionalData = new Dictionary<string, object>()
{
{"teamsApp@odata.bind", "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('1542629c-01b3-4a6d-8f76-1938b779e48d')"}
}
}
},
AdditionalData = new Dictionary<string, object>()
{
{"template@odata.bind", "https://graph.microsoft.com/beta/teamsTemplates('standard')"}
}
};
await graphClient.Teams
.Request()
.AddAsync(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
const options = {
authProvider,
};
const client = Client.init(options);
const team = {
'template@odata.bind': 'https://graph.microsoft.com/beta/teamsTemplates(\'standard\')',
visibility: 'Private',
displayName: 'Sample Engineering Team',
description: 'This is a sample engineering team, used to showcase the range of properties supported by this API',
channels: [
{
displayName: 'Announcements 📢',
isFavoriteByDefault: true,
description: 'This is a sample announcements channel that is favorited by default. Use this channel to make important team, product, and service announcements.'
},
{
displayName: 'Training 🏋️',
isFavoriteByDefault: true,
description: 'This is a sample training channel, that is favorited by default, and contains an example of pinned website and YouTube tabs.',
tabs: [
{
'teamsApp@odata.bind': 'https://graph.microsoft.com/v1.0/appCatalogs/teamsApps(\'com.microsoft.teamspace.tab.web\')',
displayName: 'A Pinned Website',
configuration: {
contentUrl: 'https://docs.microsoft.com/microsoftteams/microsoft-teams'
}
},
{
'teamsApp@odata.bind': 'https://graph.microsoft.com/v1.0/appCatalogs/teamsApps(\'com.microsoft.teamspace.tab.youtube\')',
displayName: 'A Pinned YouTube Video',
configuration: {
contentUrl: 'https://tabs.teams.microsoft.com/Youtube/Home/YoutubeTab?videoId=X8krAMdGvCQ',
websiteUrl: 'https://www.youtube.com/watch?v=X8krAMdGvCQ'
}
}
]
},
{
displayName: 'Planning 📅 ',
description: 'This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu.',
isFavoriteByDefault: false
},
{
displayName: 'Issues and Feedback 🐞',
description: 'This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu.'
}
],
memberSettings: {
allowCreateUpdateChannels: true,
allowDeleteChannels: true,
allowAddRemoveApps: true,
allowCreateUpdateRemoveTabs: true,
allowCreateUpdateRemoveConnectors: true
},
guestSettings: {
allowCreateUpdateChannels: false,
allowDeleteChannels: false
},
funSettings: {
allowGiphy: true,
giphyContentRating: 'Moderate',
allowStickersAndMemes: true,
allowCustomMemes: true
},
messagingSettings: {
allowUserEditMessages: true,
allowUserDeleteMessages: true,
allowOwnerDeleteMessages: true,
allowTeamMentions: true,
allowChannelMentions: true
},
discoverySettings: {
showInTeamsSearchAndSuggestions: true
},
installedApps: [
{
'teamsApp@odata.bind': 'https://graph.microsoft.com/v1.0/appCatalogs/teamsApps(\'com.microsoft.teamspace.tab.vsts\')'
},
{
'teamsApp@odata.bind': 'https://graph.microsoft.com/v1.0/appCatalogs/teamsApps(\'1542629c-01b3-4a6d-8f76-1938b779e48d\')'
}
]
};
await client.api('/teams')
.version('beta')
.post(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/teams"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphTeam *team = [[MSGraphTeam alloc] init];
[team setVisibility: [MSGraphTeamVisibilityType private]];
[team setDisplayName:@"Sample Engineering Team"];
[team setDescription:@"This is a sample engineering team, used to showcase the range of properties supported by this API"];
NSMutableArray *channelsList = [[NSMutableArray alloc] init];
MSGraphChannel *channels = [[MSGraphChannel alloc] init];
[channels setDisplayName:@"Announcements 📢"];
[channels setIsFavoriteByDefault: true];
[channels setDescription:@"This is a sample announcements channel that is favorited by default. Use this channel to make important team, product, and service announcements."];
[channelsList addObject: channels];
MSGraphChannel *channels = [[MSGraphChannel alloc] init];
[channels setDisplayName:@"Training 🏋️"];
[channels setIsFavoriteByDefault: true];
[channels setDescription:@"This is a sample training channel, that is favorited by default, and contains an example of pinned website and YouTube tabs."];
NSMutableArray *tabsList = [[NSMutableArray alloc] init];
MSGraphTeamsTab *tabs = [[MSGraphTeamsTab alloc] init];
[tabs setDisplayName:@"A Pinned Website"];
MSGraphTeamsTabConfiguration *configuration = [[MSGraphTeamsTabConfiguration alloc] init];
[configuration setContentUrl:@"https://docs.microsoft.com/microsoftteams/microsoft-teams"];
[tabs setConfiguration:configuration];
[tabsList addObject: tabs];
MSGraphTeamsTab *tabs = [[MSGraphTeamsTab alloc] init];
[tabs setDisplayName:@"A Pinned YouTube Video"];
MSGraphTeamsTabConfiguration *configuration = [[MSGraphTeamsTabConfiguration alloc] init];
[configuration setContentUrl:@"https://tabs.teams.microsoft.com/Youtube/Home/YoutubeTab?videoId=X8krAMdGvCQ"];
[configuration setWebsiteUrl:@"https://www.youtube.com/watch?v=X8krAMdGvCQ"];
[tabs setConfiguration:configuration];
[tabsList addObject: tabs];
[channels setTabs:tabsList];
[channelsList addObject: channels];
MSGraphChannel *channels = [[MSGraphChannel alloc] init];
[channels setDisplayName:@"Planning 📅 "];
[channels setDescription:@"This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu."];
[channels setIsFavoriteByDefault: false];
[channelsList addObject: channels];
MSGraphChannel *channels = [[MSGraphChannel alloc] init];
[channels setDisplayName:@"Issues and Feedback 🐞"];
[channels setDescription:@"This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu."];
[channelsList addObject: channels];
[team setChannels:channelsList];
MSGraphTeamMemberSettings *memberSettings = [[MSGraphTeamMemberSettings alloc] init];
[memberSettings setAllowCreateUpdateChannels: true];
[memberSettings setAllowDeleteChannels: true];
[memberSettings setAllowAddRemoveApps: true];
[memberSettings setAllowCreateUpdateRemoveTabs: true];
[memberSettings setAllowCreateUpdateRemoveConnectors: true];
[team setMemberSettings:memberSettings];
MSGraphTeamGuestSettings *guestSettings = [[MSGraphTeamGuestSettings alloc] init];
[guestSettings setAllowCreateUpdateChannels: false];
[guestSettings setAllowDeleteChannels: false];
[team setGuestSettings:guestSettings];
MSGraphTeamFunSettings *funSettings = [[MSGraphTeamFunSettings alloc] init];
[funSettings setAllowGiphy: true];
[funSettings setGiphyContentRating: [MSGraphGiphyRatingType moderate]];
[funSettings setAllowStickersAndMemes: true];
[funSettings setAllowCustomMemes: true];
[team setFunSettings:funSettings];
MSGraphTeamMessagingSettings *messagingSettings = [[MSGraphTeamMessagingSettings alloc] init];
[messagingSettings setAllowUserEditMessages: true];
[messagingSettings setAllowUserDeleteMessages: true];
[messagingSettings setAllowOwnerDeleteMessages: true];
[messagingSettings setAllowTeamMentions: true];
[messagingSettings setAllowChannelMentions: true];
[team setMessagingSettings:messagingSettings];
MSGraphTeamDiscoverySettings *discoverySettings = [[MSGraphTeamDiscoverySettings alloc] init];
[discoverySettings setShowInTeamsSearchAndSuggestions: true];
[team setDiscoverySettings:discoverySettings];
NSMutableArray *installedAppsList = [[NSMutableArray alloc] init];
MSGraphTeamsAppInstallation *installedApps = [[MSGraphTeamsAppInstallation alloc] init];
[installedAppsList addObject: installedApps];
MSGraphTeamsAppInstallation *installedApps = [[MSGraphTeamsAppInstallation alloc] init];
[installedAppsList addObject: installedApps];
[team setInstalledApps:installedAppsList];
NSError *error;
NSData *teamData = [team getSerializedDataWithError:&error];
[urlRequest setHTTPBody:teamData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
Team team = new Team();
team.additionalDataManager().put("template@odata.bind", new JsonPrimitive("https://graph.microsoft.com/beta/teamsTemplates('standard')"));
team.visibility = TeamVisibilityType.PRIVATE;
team.displayName = "Sample Engineering Team";
team.description = "This is a sample engineering team, used to showcase the range of properties supported by this API";
LinkedList<Channel> channelsList = new LinkedList<Channel>();
Channel channels = new Channel();
channels.displayName = "Announcements 📢";
channels.isFavoriteByDefault = true;
channels.description = "This is a sample announcements channel that is favorited by default. Use this channel to make important team, product, and service announcements.";
channelsList.add(channels);
Channel channels1 = new Channel();
channels1.displayName = "Training 🏋️";
channels1.isFavoriteByDefault = true;
channels1.description = "This is a sample training channel, that is favorited by default, and contains an example of pinned website and YouTube tabs.";
LinkedList<TeamsTab> tabsList = new LinkedList<TeamsTab>();
TeamsTab tabs = new TeamsTab();
tabs.additionalDataManager().put("teamsApp@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.web')"));
tabs.displayName = "A Pinned Website";
TeamsTabConfiguration configuration = new TeamsTabConfiguration();
configuration.contentUrl = "https://docs.microsoft.com/microsoftteams/microsoft-teams";
tabs.configuration = configuration;
tabsList.add(tabs);
TeamsTab tabs1 = new TeamsTab();
tabs1.additionalDataManager().put("teamsApp@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.youtube')"));
tabs1.displayName = "A Pinned YouTube Video";
TeamsTabConfiguration configuration1 = new TeamsTabConfiguration();
configuration1.contentUrl = "https://tabs.teams.microsoft.com/Youtube/Home/YoutubeTab?videoId=X8krAMdGvCQ";
configuration1.websiteUrl = "https://www.youtube.com/watch?v=X8krAMdGvCQ";
tabs1.configuration = configuration1;
tabsList.add(tabs1);
TeamsTabCollectionResponse teamsTabCollectionResponse = new TeamsTabCollectionResponse();
teamsTabCollectionResponse.value = tabsList;
TeamsTabCollectionPage teamsTabCollectionPage = new TeamsTabCollectionPage(teamsTabCollectionResponse, null);
channels1.tabs = teamsTabCollectionPage;
channelsList.add(channels1);
Channel channels2 = new Channel();
channels2.displayName = "Planning 📅 ";
channels2.description = "This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu.";
channels2.isFavoriteByDefault = false;
channelsList.add(channels2);
Channel channels3 = new Channel();
channels3.displayName = "Issues and Feedback 🐞";
channels3.description = "This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu.";
channelsList.add(channels3);
ChannelCollectionResponse channelCollectionResponse = new ChannelCollectionResponse();
channelCollectionResponse.value = channelsList;
ChannelCollectionPage channelCollectionPage = new ChannelCollectionPage(channelCollectionResponse, null);
team.channels = channelCollectionPage;
TeamMemberSettings memberSettings = new TeamMemberSettings();
memberSettings.allowCreateUpdateChannels = true;
memberSettings.allowDeleteChannels = true;
memberSettings.allowAddRemoveApps = true;
memberSettings.allowCreateUpdateRemoveTabs = true;
memberSettings.allowCreateUpdateRemoveConnectors = true;
team.memberSettings = memberSettings;
TeamGuestSettings guestSettings = new TeamGuestSettings();
guestSettings.allowCreateUpdateChannels = false;
guestSettings.allowDeleteChannels = false;
team.guestSettings = guestSettings;
TeamFunSettings funSettings = new TeamFunSettings();
funSettings.allowGiphy = true;
funSettings.giphyContentRating = GiphyRatingType.MODERATE;
funSettings.allowStickersAndMemes = true;
funSettings.allowCustomMemes = true;
team.funSettings = funSettings;
TeamMessagingSettings messagingSettings = new TeamMessagingSettings();
messagingSettings.allowUserEditMessages = true;
messagingSettings.allowUserDeleteMessages = true;
messagingSettings.allowOwnerDeleteMessages = true;
messagingSettings.allowTeamMentions = true;
messagingSettings.allowChannelMentions = true;
team.messagingSettings = messagingSettings;
TeamDiscoverySettings discoverySettings = new TeamDiscoverySettings();
discoverySettings.showInTeamsSearchAndSuggestions = true;
team.discoverySettings = discoverySettings;
LinkedList<TeamsAppInstallation> installedAppsList = new LinkedList<TeamsAppInstallation>();
TeamsAppInstallation installedApps = new TeamsAppInstallation();
installedApps.additionalDataManager().put("teamsApp@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.vsts')"));
installedAppsList.add(installedApps);
TeamsAppInstallation installedApps1 = new TeamsAppInstallation();
installedApps1.additionalDataManager().put("teamsApp@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('1542629c-01b3-4a6d-8f76-1938b779e48d')"));
installedAppsList.add(installedApps1);
TeamsAppInstallationCollectionResponse teamsAppInstallationCollectionResponse = new TeamsAppInstallationCollectionResponse();
teamsAppInstallationCollectionResponse.value = installedAppsList;
TeamsAppInstallationCollectionPage teamsAppInstallationCollectionPage = new TeamsAppInstallationCollectionPage(teamsAppInstallationCollectionResponse, null);
team.installedApps = teamsAppInstallationCollectionPage;
graphClient.teams()
.buildRequest()
.post(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewTeam()
visibility := "Private"
requestBody.SetVisibility(&visibility)
displayName := "Sample Engineering Team"
requestBody.SetDisplayName(&displayName)
description := "This is a sample engineering team, used to showcase the range of properties supported by this API"
requestBody.SetDescription(&description)
requestBody.SetChannels( []Channel {
msgraphsdk.NewChannel(),
SetAdditionalData(map[string]interface{}{
"displayName": "Announcements 📢",
"isFavoriteByDefault": true,
"description": "This is a sample announcements channel that is favorited by default. Use this channel to make important team, product, and service announcements.",
}
msgraphsdk.NewChannel(),
SetAdditionalData(map[string]interface{}{
"displayName": "Training 🏋️",
"isFavoriteByDefault": true,
"description": "This is a sample training channel, that is favorited by default, and contains an example of pinned website and YouTube tabs.",
"tabs": []Object {
}
}
msgraphsdk.NewChannel(),
SetAdditionalData(map[string]interface{}{
"displayName": "Planning 📅 ",
"description": "This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu.",
"isFavoriteByDefault": false,
}
msgraphsdk.NewChannel(),
SetAdditionalData(map[string]interface{}{
"displayName": "Issues and Feedback 🐞",
"description": "This is a sample of a channel that is not favorited by default, these channels will appear in the more channels overflow menu.",
}
}
memberSettings := msgraphsdk.NewTeamMemberSettings()
requestBody.SetMemberSettings(memberSettings)
allowCreateUpdateChannels := true
memberSettings.SetAllowCreateUpdateChannels(&allowCreateUpdateChannels)
allowDeleteChannels := true
memberSettings.SetAllowDeleteChannels(&allowDeleteChannels)
allowAddRemoveApps := true
memberSettings.SetAllowAddRemoveApps(&allowAddRemoveApps)
allowCreateUpdateRemoveTabs := true
memberSettings.SetAllowCreateUpdateRemoveTabs(&allowCreateUpdateRemoveTabs)
allowCreateUpdateRemoveConnectors := true
memberSettings.SetAllowCreateUpdateRemoveConnectors(&allowCreateUpdateRemoveConnectors)
guestSettings := msgraphsdk.NewTeamGuestSettings()
requestBody.SetGuestSettings(guestSettings)
allowCreateUpdateChannels := false
guestSettings.SetAllowCreateUpdateChannels(&allowCreateUpdateChannels)
allowDeleteChannels := false
guestSettings.SetAllowDeleteChannels(&allowDeleteChannels)
funSettings := msgraphsdk.NewTeamFunSettings()
requestBody.SetFunSettings(funSettings)
allowGiphy := true
funSettings.SetAllowGiphy(&allowGiphy)
giphyContentRating := "Moderate"
funSettings.SetGiphyContentRating(&giphyContentRating)
allowStickersAndMemes := true
funSettings.SetAllowStickersAndMemes(&allowStickersAndMemes)
allowCustomMemes := true
funSettings.SetAllowCustomMemes(&allowCustomMemes)
messagingSettings := msgraphsdk.NewTeamMessagingSettings()
requestBody.SetMessagingSettings(messagingSettings)
allowUserEditMessages := true
messagingSettings.SetAllowUserEditMessages(&allowUserEditMessages)
allowUserDeleteMessages := true
messagingSettings.SetAllowUserDeleteMessages(&allowUserDeleteMessages)
allowOwnerDeleteMessages := true
messagingSettings.SetAllowOwnerDeleteMessages(&allowOwnerDeleteMessages)
allowTeamMentions := true
messagingSettings.SetAllowTeamMentions(&allowTeamMentions)
allowChannelMentions := true
messagingSettings.SetAllowChannelMentions(&allowChannelMentions)
discoverySettings := msgraphsdk.NewTeamDiscoverySettings()
requestBody.SetDiscoverySettings(discoverySettings)
showInTeamsSearchAndSuggestions := true
discoverySettings.SetShowInTeamsSearchAndSuggestions(&showInTeamsSearchAndSuggestions)
requestBody.SetInstalledApps( []TeamsAppInstallation {
msgraphsdk.NewTeamsAppInstallation(),
SetAdditionalData(map[string]interface{}{
"teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.vsts')",
}
msgraphsdk.NewTeamsAppInstallation(),
SetAdditionalData(map[string]interface{}{
"teamsApp@odata.bind": "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('1542629c-01b3-4a6d-8f76-1938b779e48d')",
}
}
requestBody.SetAdditionalData(map[string]interface{}{
"template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('standard')",
}
options := &msgraphsdk.TeamsRequestBuilderPostOptions{
Body: requestBody,
}
result, err := graphClient.Teams().Post(options)
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
El siguiente ejemplo muestra cómo puede crear un equipo nuevo a partir de un grupo, teniendo un Id. de grupo.
Algunas cosas a tener en cuenta sobre esta llamada:
Para crear un equipo, el grupo en el que lo está creando tiene que tener como mínimo un propietario.
El equipo resultante siempre heredará del nombre de pantalla, la visibilidad, la especialización y los miembros del grupo. De esta manera, al hacer esta llamada con la propiedad group@odata.bind, la inclusión de las propiedades displayName, visibilidad, especialización, o members@odata.bind del equipo devolverá un error.
Si hace menos de 15 minutos desde que se creó el grupo, es posible que la llamada de Crear equipo falle con un código de error 404 debido a los retrasos en la replicación. Se recomienda que vuelva a intentar la llamada para Crear equipo tres veces, con un retraso de 10 segundos entre llamadas.
POST https://graph.microsoft.com/beta/teams
Content-Type: application/json
{
"template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('standard')",
"group@odata.bind": "https://graph.microsoft.com/beta/groups('71392b2f-1765-406e-86af-5907d9bdb2ab')"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var team = new Team
{
AdditionalData = new Dictionary<string, object>()
{
{"template@odata.bind", "https://graph.microsoft.com/beta/teamsTemplates('standard')"},
{"group@odata.bind", "https://graph.microsoft.com/beta/groups('71392b2f-1765-406e-86af-5907d9bdb2ab')"}
}
};
await graphClient.Teams
.Request()
.AddAsync(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
Team team = new Team();
team.additionalDataManager().put("template@odata.bind", new JsonPrimitive("https://graph.microsoft.com/beta/teamsTemplates('standard')"));
team.additionalDataManager().put("group@odata.bind", new JsonPrimitive("https://graph.microsoft.com/beta/groups('71392b2f-1765-406e-86af-5907d9bdb2ab')"));
graphClient.teams()
.buildRequest()
.post(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewTeam()
requestBody.SetAdditionalData(map[string]interface{}{
"template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('standard')",
"group@odata.bind": "https://graph.microsoft.com/beta/groups('71392b2f-1765-406e-86af-5907d9bdb2ab')",
}
options := &msgraphsdk.TeamsRequestBuilderPostOptions{
Body: requestBody,
}
result, err := graphClient.Teams().Post(options)
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Ejemplo 5: crear un equipo desde un grupo con varios canales, aplicaciones instaladas y pestañas ancladas
La siguiente es una solicitud que convierte un grupo existente con propiedades extendidas, que creará el equipo con varios canales, aplicaciones instaladas y pestañas ancladas.
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var team = new Team
{
Channels = new TeamChannelsCollectionPage()
{
new Channel
{
DisplayName = "Class Announcements 📢",
IsFavoriteByDefault = true
},
new Channel
{
DisplayName = "Homework 🏋️",
IsFavoriteByDefault = true
}
},
MemberSettings = new TeamMemberSettings
{
AllowCreateUpdateChannels = false,
AllowDeleteChannels = false,
AllowAddRemoveApps = false,
AllowCreateUpdateRemoveTabs = false,
AllowCreateUpdateRemoveConnectors = false
},
InstalledApps = new TeamInstalledAppsCollectionPage()
{
new TeamsAppInstallation
{
AdditionalData = new Dictionary<string, object>()
{
{"teamsApp@odata.bind", "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.vsts')"}
}
},
new TeamsAppInstallation
{
AdditionalData = new Dictionary<string, object>()
{
{"teamsApp@odata.bind", "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('1542629c-01b3-4a6d-8f76-1938b779e48d')"}
}
}
},
AdditionalData = new Dictionary<string, object>()
{
{"template@odata.bind", "https://graph.microsoft.com/beta/teamsTemplates('standard')"},
{"group@odata.bind", "https://graph.microsoft.com/beta/groups('dbd8de4f-5d47-48da-87f1-594bed003375')"}
}
};
await graphClient.Teams
.Request()
.AddAsync(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
Team team = new Team();
team.additionalDataManager().put("template@odata.bind", new JsonPrimitive("https://graph.microsoft.com/beta/teamsTemplates('standard')"));
team.additionalDataManager().put("group@odata.bind", new JsonPrimitive("https://graph.microsoft.com/beta/groups('dbd8de4f-5d47-48da-87f1-594bed003375')"));
LinkedList<Channel> channelsList = new LinkedList<Channel>();
Channel channels = new Channel();
channels.displayName = "Class Announcements 📢";
channels.isFavoriteByDefault = true;
channelsList.add(channels);
Channel channels1 = new Channel();
channels1.displayName = "Homework 🏋️";
channels1.isFavoriteByDefault = true;
channelsList.add(channels1);
ChannelCollectionResponse channelCollectionResponse = new ChannelCollectionResponse();
channelCollectionResponse.value = channelsList;
ChannelCollectionPage channelCollectionPage = new ChannelCollectionPage(channelCollectionResponse, null);
team.channels = channelCollectionPage;
TeamMemberSettings memberSettings = new TeamMemberSettings();
memberSettings.allowCreateUpdateChannels = false;
memberSettings.allowDeleteChannels = false;
memberSettings.allowAddRemoveApps = false;
memberSettings.allowCreateUpdateRemoveTabs = false;
memberSettings.allowCreateUpdateRemoveConnectors = false;
team.memberSettings = memberSettings;
LinkedList<TeamsAppInstallation> installedAppsList = new LinkedList<TeamsAppInstallation>();
TeamsAppInstallation installedApps = new TeamsAppInstallation();
installedApps.additionalDataManager().put("teamsApp@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.vsts')"));
installedAppsList.add(installedApps);
TeamsAppInstallation installedApps1 = new TeamsAppInstallation();
installedApps1.additionalDataManager().put("teamsApp@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('1542629c-01b3-4a6d-8f76-1938b779e48d')"));
installedAppsList.add(installedApps1);
TeamsAppInstallationCollectionResponse teamsAppInstallationCollectionResponse = new TeamsAppInstallationCollectionResponse();
teamsAppInstallationCollectionResponse.value = installedAppsList;
TeamsAppInstallationCollectionPage teamsAppInstallationCollectionPage = new TeamsAppInstallationCollectionPage(teamsAppInstallationCollectionResponse, null);
team.installedApps = teamsAppInstallationCollectionPage;
graphClient.teams()
.buildRequest()
.post(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Ejemplo 6: crear un equipo con un tipo de plantilla base no estándar
Los tipos de plantillas base son plantillas especiales que Microsoft creó para sectores específicos. Con frecuencia, estas plantillas base contienen aplicaciones propietarias que no están disponibles en la tienda de aplicaciones y propiedades de equipo que aún no se admiten de forma individual en las plantillas de Microsoft Teams.
Para crear un equipo a partir de una plantilla base no estándar, puede cambiar la propiedad template@odata.bind en el cuerpo de la solicitud de standard para apuntar a la plantilla base específica que quiera crear.
POST https://graph.microsoft.com/beta/teams
Content-Type: application/json
{
"template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('educationClass')",
"displayName": "My Class Team",
"description": "My Class Team’s Description"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var team = new Team
{
DisplayName = "My Class Team",
Description = "My Class Team’s Description",
AdditionalData = new Dictionary<string, object>()
{
{"template@odata.bind", "https://graph.microsoft.com/beta/teamsTemplates('educationClass')"}
}
};
await graphClient.Teams
.Request()
.AddAsync(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
const options = {
authProvider,
};
const client = Client.init(options);
const team = {
'template@odata.bind': 'https://graph.microsoft.com/beta/teamsTemplates(\'educationClass\')',
displayName: 'My Class Team',
description: 'My Class Team’s Description'
};
await client.api('/teams')
.version('beta')
.post(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
Team team = new Team();
team.additionalDataManager().put("template@odata.bind", new JsonPrimitive("https://graph.microsoft.com/beta/teamsTemplates('educationClass')"));
team.displayName = "My Class Team";
team.description = "My Class Team’s Description";
graphClient.teams()
.buildRequest()
.post(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewTeam()
displayName := "My Class Team"
requestBody.SetDisplayName(&displayName)
description := "My Class Team’s Description"
requestBody.SetDescription(&description)
requestBody.SetAdditionalData(map[string]interface{}{
"template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('educationClass')",
}
options := &msgraphsdk.TeamsRequestBuilderPostOptions{
Body: requestBody,
}
result, err := graphClient.Teams().Post(options)
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Ejemplo 7: crear un equipo con un tipo de plantilla base no estándar y propiedades extendidas
Los tipos de plantilla base se pueden extender con propiedades adicionales, lo que le permite usar una plantilla base existente con otras opciones de equipo, canales, aplicaciones o pestañas.
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var team = new Team
{
DisplayName = "My Class Team",
Description = "My Class Team’s Description",
Channels = new TeamChannelsCollectionPage()
{
new Channel
{
DisplayName = "Class Announcements 📢",
IsFavoriteByDefault = true
},
new Channel
{
DisplayName = "Homework 🏋️",
IsFavoriteByDefault = true
}
},
MemberSettings = new TeamMemberSettings
{
AllowCreateUpdateChannels = false,
AllowDeleteChannels = false,
AllowAddRemoveApps = false,
AllowCreateUpdateRemoveTabs = false,
AllowCreateUpdateRemoveConnectors = false
},
InstalledApps = new TeamInstalledAppsCollectionPage()
{
new TeamsAppInstallation
{
AdditionalData = new Dictionary<string, object>()
{
{"teamsApp@odata.bind", "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.vsts')"}
}
},
new TeamsAppInstallation
{
AdditionalData = new Dictionary<string, object>()
{
{"teamsApp@odata.bind", "https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('1542629c-01b3-4a6d-8f76-1938b779e48d')"}
}
}
},
AdditionalData = new Dictionary<string, object>()
{
{"template@odata.bind", "https://graph.microsoft.com/beta/teamsTemplates('educationClass')"}
}
};
await graphClient.Teams
.Request()
.AddAsync(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
Team team = new Team();
team.additionalDataManager().put("template@odata.bind", new JsonPrimitive("https://graph.microsoft.com/beta/teamsTemplates('educationClass')"));
team.displayName = "My Class Team";
team.description = "My Class Team’s Description";
LinkedList<Channel> channelsList = new LinkedList<Channel>();
Channel channels = new Channel();
channels.displayName = "Class Announcements 📢";
channels.isFavoriteByDefault = true;
channelsList.add(channels);
Channel channels1 = new Channel();
channels1.displayName = "Homework 🏋️";
channels1.isFavoriteByDefault = true;
channelsList.add(channels1);
ChannelCollectionResponse channelCollectionResponse = new ChannelCollectionResponse();
channelCollectionResponse.value = channelsList;
ChannelCollectionPage channelCollectionPage = new ChannelCollectionPage(channelCollectionResponse, null);
team.channels = channelCollectionPage;
TeamMemberSettings memberSettings = new TeamMemberSettings();
memberSettings.allowCreateUpdateChannels = false;
memberSettings.allowDeleteChannels = false;
memberSettings.allowAddRemoveApps = false;
memberSettings.allowCreateUpdateRemoveTabs = false;
memberSettings.allowCreateUpdateRemoveConnectors = false;
team.memberSettings = memberSettings;
LinkedList<TeamsAppInstallation> installedAppsList = new LinkedList<TeamsAppInstallation>();
TeamsAppInstallation installedApps = new TeamsAppInstallation();
installedApps.additionalDataManager().put("teamsApp@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('com.microsoft.teamspace.tab.vsts')"));
installedAppsList.add(installedApps);
TeamsAppInstallation installedApps1 = new TeamsAppInstallation();
installedApps1.additionalDataManager().put("teamsApp@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/appCatalogs/teamsApps('1542629c-01b3-4a6d-8f76-1938b779e48d')"));
installedAppsList.add(installedApps1);
TeamsAppInstallationCollectionResponse teamsAppInstallationCollectionResponse = new TeamsAppInstallationCollectionResponse();
teamsAppInstallationCollectionResponse.value = installedAppsList;
TeamsAppInstallationCollectionPage teamsAppInstallationCollectionPage = new TeamsAppInstallationCollectionPage(teamsAppInstallationCollectionResponse, null);
team.installedApps = teamsAppInstallationCollectionPage;
graphClient.teams()
.buildRequest()
.post(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
En el siguiente ejemplo se muestra cómo crear un equipo para mensajes importados.
Nota: En el futuro, Microsoft puede solicitarle a usted o a sus clientes que paguen tarifas adicionales en función de la cantidad de datos que se importen.|
Nota: Los equipos creados en el modo de migración solo admiten la plantilla standard.
POST https://graph.microsoft.com/beta/teams
Content-Type: application/json
{
"@microsoft.graph.teamCreationMode": "migration",
"template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('standard')",
"displayName": "My Sample Team",
"description": "My Sample Team’s Description",
"createdDateTime": "2020-03-14T11:22:17.067Z"
}
Si la solicitud no se ejecuta correctamente, este método devuelve un código de respuesta 400 Bad Request.
400 Bad Request
A continuación, se presentan motivos habituales por los que se genera esta respuesta:
createdDateTime está establecido en una fecha futura.
createdDateTime está especificada correctamente, pero no se encuentra el atributo de instancia teamCreationMode o se ha establecido en un valor que no es válido.
Ejemplo 9: Permisos de aplicación con el nombre principal del usuario
Este es un ejemplo de una solicitud mínima con permisos de aplicación. Al omitir otras propiedades, el cliente usa de forma implícita los valores predeterminados de la plantilla predefinida representada por template. Al emitir una solicitud con permisos de aplicación, es necesario especificar un usuario en la colección members.
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var team = new Team
{
DisplayName = "My Sample Team",
Description = "My Sample Team’s Description",
Members = new TeamMembersCollectionPage()
{
new AadUserConversationMember
{
Roles = new List<String>()
{
"owner"
},
AdditionalData = new Dictionary<string, object>()
{
{"user@odata.bind", "https://graph.microsoft.com/beta/users('jacob@contoso.com')"}
}
}
},
AdditionalData = new Dictionary<string, object>()
{
{"template@odata.bind", "https://graph.microsoft.com/beta/teamsTemplates('standard')"}
}
};
await graphClient.Teams
.Request()
.AddAsync(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
Team team = new Team();
team.additionalDataManager().put("template@odata.bind", new JsonPrimitive("https://graph.microsoft.com/beta/teamsTemplates('standard')"));
team.displayName = "My Sample Team";
team.description = "My Sample Team’s Description";
LinkedList<ConversationMember> membersList = new LinkedList<ConversationMember>();
AadUserConversationMember members = new AadUserConversationMember();
LinkedList<String> rolesList = new LinkedList<String>();
rolesList.add("owner");
members.roles = rolesList;
members.additionalDataManager().put("user@odata.bind", new JsonPrimitive("https://graph.microsoft.com/beta/users('jacob@contoso.com')"));
membersList.add(members);
ConversationMemberCollectionResponse conversationMemberCollectionResponse = new ConversationMemberCollectionResponse();
conversationMemberCollectionResponse.value = membersList;
ConversationMemberCollectionPage conversationMemberCollectionPage = new ConversationMemberCollectionPage(conversationMemberCollectionResponse, null);
team.members = conversationMemberCollectionPage;
graphClient.teams()
.buildRequest()
.post(team);
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewTeam()
displayName := "My Sample Team"
requestBody.SetDisplayName(&displayName)
description := "My Sample Team’s Description"
requestBody.SetDescription(&description)
requestBody.SetMembers( []ConversationMember {
msgraphsdk.NewConversationMember(),
SetAdditionalData(map[string]interface{}{
"@odata.type": "#microsoft.graph.aadUserConversationMember",
"roles": []String {
"owner",
}
"user@odata.bind": "https://graph.microsoft.com/beta/users('jacob@contoso.com')",
}
}
requestBody.SetAdditionalData(map[string]interface{}{
"template@odata.bind": "https://graph.microsoft.com/beta/teamsTemplates('standard')",
}
options := &msgraphsdk.TeamsRequestBuilderPostOptions{
Body: requestBody,
}
result, err := graphClient.Teams().Post(options)
Importante
Los SDK de Microsoft Graph usan la versión v1.0 de la API de forma predeterminada y no admiten todos los tipos, propiedades y API disponibles en la versión beta. Para obtener más información sobre cómo obtener acceso a la API beta con el SDK, consulte Use the Microsoft Graph SDK with the beta API.