Criar grupo

Namespace: microsoft.graph

Crie um novo grupo conforme especificado no corpo da solicitação. Você pode criar os seguintes tipos de grupos:

  • Grupo do Microsoft 365 (grupo unificado)
  • Grupo de segurança

Esta operação retorna, por padrão, apenas um subconjunto das propriedades de cada grupo. Essas propriedades padrão estão listadas na seção Propriedades.

Para obter propriedades não retornadas por padrão, execute uma operação GET e especifique as propriedades em uma opção de consulta $select do OData.

Observação: Embora o Microsoft Teams tenha como base grupos do Microsoft 365, atualmente não é possível criar uma equipe por meio desta API. Você pode usar outras APIs de grupos para gerenciar uma equipe que foi criada na interface do usuário do Microsoft Teams.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
Delegado (conta corporativa ou de estudante) Group.ReadWrite.All Directory.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application Group.Create Directory.ReadWrite.All, Group.ReadWrite.All

Para uma aplicação criar um grupo com proprietários ou membros enquanto tem a permissão Group.Create , a aplicação tem de ter os privilégios para ler o tipo de objeto que pretende atribuir como proprietário ou membro do grupo. Por conseguinte:

  • A aplicação pode atribuir-se a si própria como proprietário ou membro do grupo.
  • Para criar o grupo com utilizadores como proprietários ou membros, a aplicação tem de ter, pelo menos, a permissão User.Read.All .
  • Para criar o grupo com outros principais de serviço como proprietários ou membros, a aplicação tem de ter, pelo menos, a permissão Application.Read.All .
  • Para criar o grupo com utilizadores ou principais de serviço como proprietários ou membros, a aplicação tem de ter, pelo menos, a permissão Directory.Read.All .

Solicitação HTTP

POST /groups

Cabeçalhos de solicitação

Nome Descrição
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON do objeto de grupo.

A tabela seguinte lista as propriedades necessárias quando cria o grupo. Especifique outras propriedades graváveis conforme necessário para o seu grupo.

Propriedade Tipo Descrição
displayName Cadeia de caracteres O nome para exibição no catálogo de endereços do grupo. Comprimento máximo: 256 caracteres. Obrigatório.
mailEnabled Boolean Definir como true para grupos habilitados para email. Obrigatório.
mailNickname String O alias de email do grupo, exclusivo para grupos do Microsoft 365 na organização. O comprimento máximo é de 64 caracteres. Essa propriedade pode conter apenas caracteres no conjunto de caracteres ASCII de 0 a 127, exceto o seguinte: @ () \ [] " ; : <> , SPACE. Obrigatório.
securityEnabled Boolean Definido como true para grupos habilitados para segurança, incluindo Microsoft 365 grupos. Obrigatório. Nota: Grupos criadas com o centro de administração do Microsoft Entra ou o portal do Azure têm sempre securityEnabled inicialmente definido como true.

Importante

  • Criar um grupo com a permissão Aplicação Group.Create sem especificar proprietários cria o grupo de forma anónima e o grupo não é modificável. Adicione proprietários ao grupo ao criá-lo para que os proprietários possam gerir o grupo.

  • Criar um grupo do Microsoft 365 num contexto apenas de aplicação e sem especificar proprietários cria o grupo de forma anónima. Se assim o fizer, o site associado do SharePoint Online só será criado automaticamente, após a execução de outras ações manuais.

  • Criar um microsoft 365 ou grupo de segurança num contexto delegado, com sessão iniciada como um utilizador não administrador e sem especificar proprietários adiciona automaticamente o utilizador de chamada como proprietário do grupo. Um utilizador administrador é adicionado automaticamente como o proprietário do grupo de um grupo do Microsoft 365 que cria, mas não de um grupo de segurança.

  • Um utilizador não administrador não pode adicionar-se à coleção de proprietários de grupos. Para obter mais informações, veja o problema conhecido relacionado.

  • As propriedades a seguir não podem ser definidas na solicitação POST inicial e devem ser definidas em uma solicitação PATCH subsequente: allowExternalSenders, autoSubscribeNewMembers, hideFromAddressLists, hideFromOutlookClients, isSubscribedByMail, unseenCount.

Opções de groupTypes

Use a propriedade groupTypes para controlar o tipo de grupo e sua associação, conforme mostrad.

Tipo de grupo Associação atribuída Associação dinâmica
Microsoft 365 (também conhecido como grupo unificado) ["Unified"] ["Unified","DynamicMembership"]
Dinâmica [] (null) ["DynamicMembership"]

Resposta

Se bem-sucedido, esse método retorna um código de resposta 201 Created e um objeto group no corpo da resposta. A resposta inclui somente as propriedades padrão do grupo.

Exemplos

Exemplo 1: Criar um grupo do Microsoft 365

O exemplo a seguir cria um grupo do Microsoft 365. Como os proprietários não foram especificados, o usuário que fez a chamada é adicionado automaticamente como proprietário do grupo.

Solicitação

POST https://graph.microsoft.com/v1.0/groups
Content-type: application/json

{
  "description": "Self help community for library",
  "displayName": "Library Assist",
  "groupTypes": [
    "Unified"
  ],
  "mailEnabled": true,
  "mailNickname": "library",
  "securityEnabled": false
}

Resposta

O exemplo a seguir mostra a resposta. O valor da propriedade preferredDataLocation foi herdado da localização de dados preferencial do criador do grupo.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 201 Created
Content-type: application/json

{
    "id": "b320ee12-b1cd-4cca-b648-a437be61c5cd",
      "deletedDateTime": null,
      "classification": null,
      "createdDateTime": "2018-12-22T00:51:37Z",
      "description": "Self help community for library",
      "displayName": "Library Assist",
      "groupTypes": [
          "Unified"
      ],
      "mail": "library7423@contoso.com",
      "mailEnabled": true,
      "mailNickname": "library",
      "onPremisesLastSyncDateTime": null,
      "onPremisesSecurityIdentifier": null,
      "onPremisesSyncEnabled": null,
      "preferredDataLocation": "CAN",
      "proxyAddresses": [
          "SMTP:library7423@contoso.com"
      ],
      "renewedDateTime": "2018-12-22T00:51:37Z",
      "resourceBehaviorOptions": [],
      "resourceProvisioningOptions": [],
      "securityEnabled": false,
      "visibility": "Public",
      "onPremisesProvisioningErrors": []
}

Exemplo 2: criando um grupo com membros e proprietários

O exemplo a seguir cria um Grupo de segurança com um proprietário e membros especificados. Observe que, no máximo, 20 relações, como proprietários e membros, podem ser adicionadas como parte da criação do grupo. Posteriormente, você pode adicionar mais membros, usando a API adicionar membro ou o envio em lotes JSON.

Um utilizador não administrador não pode adicionar-se à coleção de proprietários de grupos. Para obter mais informações, veja o problema conhecido relacionado.

Solicitação

POST https://graph.microsoft.com/v1.0/groups
Content-Type: application/json

{
  "description": "Group with designated owner and members",
  "displayName": "Operations group",
  "groupTypes": [
  ],
  "mailEnabled": false,
  "mailNickname": "operations2019",
  "securityEnabled": true,
  "owners@odata.bind": [
    "https://graph.microsoft.com/v1.0/users/26be1845-4119-4801-a799-aea79d09f1a2"
  ],
  "members@odata.bind": [
    "https://graph.microsoft.com/v1.0/users/ff7cb387-6688-423c-8188-3da9532a73cc",
    "https://graph.microsoft.com/v1.0/users/69456242-0067-49d3-ba96-9de6f2728e14"
  ]
}

Resposta

Veja a seguir o exemplo de uma resposta bem-sucedida. Ele inclui apenas propriedades padrão. Posteriormente, você pode acessar as propriedades de navegação de grupo proprietários ou membros para verificar o proprietário ou membros. O valor da propriedade preferredDataLocation foi herdado da localização de dados preferencial do criador do grupo.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups/$entity",
    "@odata.id": "https://graph.microsoft.com/v2/84841066-274d-4ec0-a5c1-276be684bdd3/directoryObjects/21d05557-b7b6-418f-86fa-a3118d751be4/Microsoft.DirectoryServices.Group",
    "id": "21d05557-b7b6-418f-86fa-a3118d751be4",
    "deletedDateTime": null,
    "classification": null,
    "createdDateTime": "2021-09-21T07:09:14Z",
    "description": "Group with designated owner and members",
    "displayName": "Operations group",
    "expirationDateTime": null,
    "groupTypes": [],
    "isAssignableToRole": null,
    "mail": null,
    "mailEnabled": false,
    "mailNickname": "operations2019",
    "membershipRule": null,
    "membershipRuleProcessingState": null,
    "onPremisesDomainName": null,
    "onPremisesLastSyncDateTime": null,
    "onPremisesNetBiosName": null,
    "onPremisesSamAccountName": null,
    "onPremisesSecurityIdentifier": null,
    "onPremisesSyncEnabled": null,
    "preferredDataLocation": null,
    "preferredLanguage": null,
    "proxyAddresses": [],
    "renewedDateTime": "2021-09-21T07:09:14Z",
    "resourceBehaviorOptions": [],
    "resourceProvisioningOptions": [],
    "securityEnabled": true,
    "securityIdentifier": "S-1-12-1-567301463-1099937718-295959174-3827004813",
    "theme": null,
    "visibility": null,
    "onPremisesProvisioningErrors": []
}

Exemplo 3: criar um grupo do Microsoft 365 que possa ser atribuído a uma função de Microsoft Entra

Solicitação

O exemplo a seguir mostra uma solicitação. Tem de ser atribuída ao utilizador de chamada a permissão RoleManagement.ReadWrite.Directory para definir a propriedade isAssignableToRole ou atualizar a associação desses grupos.

Um grupo com a propriedade isAssignableToRole definida como true não pode ser do tipo de associação dinâmica, a segurançaEnabled tem de ser definida como truee a visibilidade só pode ser Private.

POST https://graph.microsoft.com/v1.0/groups
Content-Type: application/json

{
    "description": "Group assignable to a role",
    "displayName": "Role assignable group",
    "groupTypes": [
        "Unified"
    ],
    "isAssignableToRole": true,
    "mailEnabled": true,
    "securityEnabled": true,
    "mailNickname": "contosohelpdeskadministrators",
    "owners@odata.bind": [
        "https://graph.microsoft.com/v1.0/users/99e44b05-c10b-4e95-a523-e2732bbaba1e"
    ],
    "members@odata.bind": [
        "https://graph.microsoft.com/v1.0/users/6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0",
        "https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e"
    ]
}

Observação: Um grupo com a propriedade isAssignableToRole definida como true não pode ser do tipo de associação dinâmica e não pode ter um proprietário. Para obter mais informações, veja Utilizar um grupo para gerir Microsoft Entra atribuições de funções.

Resposta

O exemplo a seguir mostra a resposta. Ele inclui apenas propriedades padrão. O valor da propriedade preferredDataLocation foi herdado da localização de dados preferencial do criador do grupo.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#groups/$entity",
    "@odata.id": "https://graph.microsoft.com/v2/84841066-274d-4ec0-a5c1-276be684bdd3/directoryObjects/55ea2e8c-757f-4f2d-be9e-53c22e8c6a54/Microsoft.DirectoryServices.Group",
    "id": "55ea2e8c-757f-4f2d-be9e-53c22e8c6a54",
    "deletedDateTime": null,
    "classification": null,
    "createdDateTime": "2021-09-21T07:23:06Z",
    "createdByAppId": "de8bc8b5-d9f9-48b1-a8ad-b748da725064",
    "organizationId": "84841066-274d-4ec0-a5c1-276be684bdd3",
    "description": "Group assignable to a role",
    "displayName": "Role assignable group",
    "expirationDateTime": null,
    "groupTypes": [
        "Unified"
    ],
    "infoCatalogs": [],
    "isAssignableToRole": true,
    "isManagementRestricted": null,
    "mail": "contosohelpdeskadministrators@contoso.com",
    "mailEnabled": true,
    "mailNickname": "contosohelpdeskadministrators",
    "membershipRule": null,
    "membershipRuleProcessingState": null,
    "onPremisesDomainName": null,
    "onPremisesLastSyncDateTime": null,
    "onPremisesNetBiosName": null,
    "onPremisesSamAccountName": null,
    "onPremisesSecurityIdentifier": null,
    "onPremisesSyncEnabled": null,
    "preferredDataLocation": "EU",
    "preferredLanguage": null,
    "proxyAddresses": [
        "SMTP:contosohelpdeskadministrators@contoso.com"
    ],
    "renewedDateTime": "2021-09-21T07:23:06Z",
    "resourceBehaviorOptions": [],
    "resourceProvisioningOptions": [],
    "securityEnabled": true,
    "securityIdentifier": "S-1-12-1-1441410700-1328379263-3260260030-1416268846",
    "theme": null,
    "visibility": "Private",
    "writebackConfiguration": {
        "isEnabled": null,
        "onPremisesGroupType": null
    },
    "onPremisesProvisioningErrors": []
}