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.

Essa API está disponível nas seguintes implantações nacionais de nuvem.

Serviço global Governo dos EUA L4 GOVERNO DOS EUA L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.

Tipo de permissão Permissões menos privilegiadas Permissões privilegiadas mais altas
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 um aplicativo criar um grupo com proprietários ou membros enquanto tiver a permissão Group.Create , o aplicativo deve ter os privilégios para ler o tipo de objeto que deseja atribuir como proprietário ou membro do grupo. Portanto:

  • O aplicativo pode atribuir-se como proprietário ou membro do grupo.
  • Para criar o grupo com usuários como proprietários ou membros, o aplicativo deve ter pelo menos a permissão User.Read.All .
  • Para criar o grupo com outras entidades de serviço como proprietários ou membros, o aplicativo deve ter pelo menos a permissão Application.Read.All .
  • Para criar o grupo com usuários ou entidades de serviço como proprietários ou membros, o aplicativo deve 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 a seguir lista as propriedades necessárias ao criar 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: Os grupos criados usando o centro de administração do Microsoft Entra ou o portal do Azure sempre têm securityEnabled inicialmente definido como true.

Importante

  • Criar um grupo usando a permissão de aplicativo Group.Create sem especificar proprietários criará o grupo anonimamente e o grupo não será modificável. Adicione proprietários ao grupo ao criá-lo para especificar os proprietários que podem modificar o grupo.

  • Ao criar um grupo do Microsoft 365 programaticamente com um contexto somente de aplicativo e sem especificar os proprietários, o grupo será criado anonimamente. Se assim o fizer, o site associado do SharePoint Online só será criado automaticamente, após a execução de outras ações manuais.

  • 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.

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 pode ser atribuído a uma função Microsoft Entra

Solicitação

O exemplo a seguir mostra uma solicitação. O usuário chamador deve receber a permissão RoleManagement.ReadWrite.Directory para definir a propriedade isAssignableToRole ou atualizar a associação desses grupos.

Um grupo com propriedade isAssignableToRole definida como true não pode ser do tipo de associação dinâmica, seu securityEnabled deve ser definido como true, e 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, consulte Usar um grupo para gerenciar atribuições de função Microsoft Entra.

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": []
}