Namespace: microsoft.graph
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Adicione um item, como um chat, canal, reunião ou comunidade, a uma secção definida pelo utilizador no trabalho de equipa de um utilizador. Cada item só pode pertencer a uma secção de cada vez. Só pode adicionar itens que estejam atualmente numa secção definida pelo sistema. Se o item já estiver noutra secção definida pelo utilizador, utilize a ação mover para o reposicionar.
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) |
TeamworkSection.ReadWrite |
Indisponível. |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
TeamworkSection.ReadWrite.All |
Teamwork.Migrate.All |
Solicitação HTTP
POST /users/{user-id}/teamwork/sections/{teamworkSection-id}/items
| Cabeçalho |
Valor |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type |
application/json. Obrigatório. |
| If-Match |
O valor da anotação @microsoft.graph.sectionsVersion devolvido quando lista secções ou o valor @odata.etag de qualquer secção obtida anteriormente. Necessário para o controlo de simultaneidade otimista. |
Corpo da solicitação
No corpo do pedido, forneça uma representação JSON de um objeto teamworkSectionItem .
A tabela seguinte lista as propriedades que pode definir quando adiciona um teamworkSectionItem.
| Propriedade |
Tipo |
Descrição |
| id |
Cadeia de caracteres |
O ID de conversação do chat, canal, reunião ou comunidade a adicionar à secção. Para um item de comunidade (Viva Engage), pode fornecer o ID de comunidade simples devolvido quando lista comunidades (por exemplo, eyJfdHlwZSI6Ikdyb3VwIiwiaWQiOiIxOTAzMzYyMTIyMTAifQ) ou o ID de thread completo19:{communityId}@EngageCommunity. Quando fornece um ID de comunidade simples, o serviço normaliza-o automaticamente para o 19:{communityId}@EngageCommunity formato; um ID que já inclui o prefixo de thread é utilizado tal como está. Obrigatório. |
Resposta
Se for bem-sucedido, este método devolve um 201 Created código de resposta e um objeto teamworkSectionItem no corpo da resposta.
Observação
A resposta inclui um valor @odata.etag atualizado. Utilize este valor como cabeçalho If-Match para quaisquer operações de mutação subsequentes.
Os seguintes erros são possíveis.
| Código da resposta |
Mensagem |
400 Bad Request |
A propriedade "id" é necessária e não pode estar vazia. |
400 Bad Request |
O ID do item especificado não é válido. Forneça um chat, canal, reunião ou ID de comunidade válidos. |
400 Bad Request |
O número máximo de itens nesta secção foi atingido. |
403 Forbidden |
O acesso a este recurso é negado. O autor da chamada tem de ser um membro da conversação que está a ser adicionada. |
404 Not Found |
A secção especificada não foi encontrada. |
409 Conflict |
Este item já se encontra nesta secção. |
409 Conflict |
Este item já está associado a outra secção. Utilize a API de movimentação para a reposicionar. A resposta inclui um conflictingSectionId detalhe com o ID da secção que contém atualmente o item. |
412 Precondition Failed |
O If-Match valor do cabeçalho não corresponde à versão atual da hierarquia de secções.
Liste novamente secções para obter o @microsoft.graph.sectionsEstação de versão atual e repetição. |
428 Precondition Required |
O If-Match cabeçalho é necessário para esta operação. |
Exemplos
Exemplo 1: Adicionar uma conversa a uma secção
O exemplo seguinte mostra como adicionar uma conversa a uma secção.
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/users/10f8c3a6-3e2a-4e8b-9c7d-5a4b6c8d9e0f/teamwork/sections/a1b2c3d4-e5f6-7890-abcd-ef1234567890/items
Content-type: application/json
If-Match: "1742515200"
{
"id": "19:d5b2c3a4-e6f7-8901-abcd-ef3456789012@thread.v2"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new TeamworkSectionItem
{
Id = "19:d5b2c3a4-e6f7-8901-abcd-ef3456789012@thread.v2",
};
// To initialize your graphClient, see https://dotnet.territoriali.olinfo.it/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].Teamwork.Sections["{teamworkSection-id}"].Items.PostAsync(requestBody, (requestConfiguration) =>
{
requestConfiguration.Headers.Add("If-Match", "\"1742515200\"");
});
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
graphusers "github.com/microsoftgraph/msgraph-beta-sdk-go/users"
//other-imports
)
headers := abstractions.NewRequestHeaders()
headers.Add("If-Match", "\"1742515200\"")
configuration := &graphusers.ItemTeamworkSectionsItemItemsRequestBuilderPostRequestConfiguration{
Headers: headers,
}
requestBody := graphmodels.NewTeamworkSectionItem()
id := "19:d5b2c3a4-e6f7-8901-abcd-ef3456789012@thread.v2"
requestBody.SetId(&id)
// To initialize your graphClient, see https://dotnet.territoriali.olinfo.it/en-us/graph/sdks/create-client?from=snippets&tabs=go
items, err := graphClient.Users().ByUserId("user-id").Teamwork().Sections().ByTeamworkSectionId("teamworkSection-id").Items().Post(context.Background(), requestBody, configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
TeamworkSectionItem teamworkSectionItem = new TeamworkSectionItem();
teamworkSectionItem.setId("19:d5b2c3a4-e6f7-8901-abcd-ef3456789012@thread.v2");
TeamworkSectionItem result = graphClient.users().byUserId("{user-id}").teamwork().sections().byTeamworkSectionId("{teamworkSection-id}").items().post(teamworkSectionItem, requestConfiguration -> {
requestConfiguration.headers.add("If-Match", "\"1742515200\"");
});
const options = {
authProvider,
};
const client = Client.init(options);
const teamworkSectionItem = {
id: '19:d5b2c3a4-e6f7-8901-abcd-ef3456789012@thread.v2'
};
await client.api('/users/10f8c3a6-3e2a-4e8b-9c7d-5a4b6c8d9e0f/teamwork/sections/a1b2c3d4-e5f6-7890-abcd-ef1234567890/items')
.version('beta')
.post(teamworkSectionItem);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Users\Item\Teamwork\Sections\Item\Items\ItemsRequestBuilderPostRequestConfiguration;
use Microsoft\Graph\Beta\Generated\Models\TeamworkSectionItem;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new TeamworkSectionItem();
$requestBody->setId('19:d5b2c3a4-e6f7-8901-abcd-ef3456789012@thread.v2');
$requestConfiguration = new ItemsRequestBuilderPostRequestConfiguration();
$headers = [
'If-Match' => '"1742515200"',
];
$requestConfiguration->headers = $headers;
$result = $graphServiceClient->users()->byUserId('user-id')->teamwork()->sections()->byTeamworkSectionId('teamworkSection-id')->items()->post($requestBody, $requestConfiguration)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.users.item.teamwork.sections.item.items.items_request_builder import ItemsRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
from msgraph_beta.generated.models.teamwork_section_item import TeamworkSectionItem
# To initialize your graph_client, see https://dotnet.territoriali.olinfo.it/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = TeamworkSectionItem(
id = "19:d5b2c3a4-e6f7-8901-abcd-ef3456789012@thread.v2",
)
request_configuration = RequestConfiguration()
request_configuration.headers.add("If-Match", "\"1742515200\"")
result = await graph_client.users.by_user_id('user-id').teamwork.sections.by_teamwork_section_id('teamworkSection-id').items.post(request_body, request_configuration = request_configuration)
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 201 Created
Content-type: application/json
Location: https://graph.microsoft.com/beta/users/10f8c3a6-3e2a-4e8b-9c7d-5a4b6c8d9e0f/teamwork/sections/a1b2c3d4-e5f6-7890-abcd-ef1234567890/items/19:d5b2c3a4-e6f7-8901-abcd-ef3456789012@thread.v2
{
"@odata.type": "#microsoft.graph.teamworkSectionItem",
"@odata.etag": "\"1742515210\"",
"id": "19:d5b2c3a4-e6f7-8901-abcd-ef3456789012@thread.v2",
"itemType": "chat",
"createdDateTime": "2026-03-08T10:00:00Z",
"lastModifiedDateTime": null
}
O exemplo seguinte mostra como adicionar uma comunidade Viva Engage a uma secção. O pedido fornece o ID de comunidade simples devolvido quando lista comunidades. O serviço normaliza o ID da comunidade para o 19:{communityId}@EngageCommunity formato devolvido na resposta.
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/users/10f8c3a6-3e2a-4e8b-9c7d-5a4b6c8d9e0f/teamwork/sections/a1b2c3d4-e5f6-7890-abcd-ef1234567890/items
Content-type: application/json
If-Match: "1742515210"
{
"id": "eyJfdHlwZSI6Ikdyb3VwIiwiaWQiOiIxOTAzMzYyMTIyMTAifQ"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new TeamworkSectionItem
{
Id = "eyJfdHlwZSI6Ikdyb3VwIiwiaWQiOiIxOTAzMzYyMTIyMTAifQ",
};
// To initialize your graphClient, see https://dotnet.territoriali.olinfo.it/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].Teamwork.Sections["{teamworkSection-id}"].Items.PostAsync(requestBody, (requestConfiguration) =>
{
requestConfiguration.Headers.Add("If-Match", "\"1742515210\"");
});
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
graphusers "github.com/microsoftgraph/msgraph-beta-sdk-go/users"
//other-imports
)
headers := abstractions.NewRequestHeaders()
headers.Add("If-Match", "\"1742515210\"")
configuration := &graphusers.ItemTeamworkSectionsItemItemsRequestBuilderPostRequestConfiguration{
Headers: headers,
}
requestBody := graphmodels.NewTeamworkSectionItem()
id := "eyJfdHlwZSI6Ikdyb3VwIiwiaWQiOiIxOTAzMzYyMTIyMTAifQ"
requestBody.SetId(&id)
// To initialize your graphClient, see https://dotnet.territoriali.olinfo.it/en-us/graph/sdks/create-client?from=snippets&tabs=go
items, err := graphClient.Users().ByUserId("user-id").Teamwork().Sections().ByTeamworkSectionId("teamworkSection-id").Items().Post(context.Background(), requestBody, configuration)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
TeamworkSectionItem teamworkSectionItem = new TeamworkSectionItem();
teamworkSectionItem.setId("eyJfdHlwZSI6Ikdyb3VwIiwiaWQiOiIxOTAzMzYyMTIyMTAifQ");
TeamworkSectionItem result = graphClient.users().byUserId("{user-id}").teamwork().sections().byTeamworkSectionId("{teamworkSection-id}").items().post(teamworkSectionItem, requestConfiguration -> {
requestConfiguration.headers.add("If-Match", "\"1742515210\"");
});
const options = {
authProvider,
};
const client = Client.init(options);
const teamworkSectionItem = {
id: 'eyJfdHlwZSI6Ikdyb3VwIiwiaWQiOiIxOTAzMzYyMTIyMTAifQ'
};
await client.api('/users/10f8c3a6-3e2a-4e8b-9c7d-5a4b6c8d9e0f/teamwork/sections/a1b2c3d4-e5f6-7890-abcd-ef1234567890/items')
.version('beta')
.post(teamworkSectionItem);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Users\Item\Teamwork\Sections\Item\Items\ItemsRequestBuilderPostRequestConfiguration;
use Microsoft\Graph\Beta\Generated\Models\TeamworkSectionItem;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new TeamworkSectionItem();
$requestBody->setId('eyJfdHlwZSI6Ikdyb3VwIiwiaWQiOiIxOTAzMzYyMTIyMTAifQ');
$requestConfiguration = new ItemsRequestBuilderPostRequestConfiguration();
$headers = [
'If-Match' => '"1742515210"',
];
$requestConfiguration->headers = $headers;
$result = $graphServiceClient->users()->byUserId('user-id')->teamwork()->sections()->byTeamworkSectionId('teamworkSection-id')->items()->post($requestBody, $requestConfiguration)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.users.item.teamwork.sections.item.items.items_request_builder import ItemsRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
from msgraph_beta.generated.models.teamwork_section_item import TeamworkSectionItem
# To initialize your graph_client, see https://dotnet.territoriali.olinfo.it/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = TeamworkSectionItem(
id = "eyJfdHlwZSI6Ikdyb3VwIiwiaWQiOiIxOTAzMzYyMTIyMTAifQ",
)
request_configuration = RequestConfiguration()
request_configuration.headers.add("If-Match", "\"1742515210\"")
result = await graph_client.users.by_user_id('user-id').teamwork.sections.by_teamwork_section_id('teamworkSection-id').items.post(request_body, request_configuration = request_configuration)
Resposta
O exemplo a seguir mostra a resposta. A propriedade ID é devolvida no formato normalizado 19:{communityId}@EngageCommunity .
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 201 Created
Content-type: application/json
Location: https://graph.microsoft.com/beta/users/10f8c3a6-3e2a-4e8b-9c7d-5a4b6c8d9e0f/teamwork/sections/a1b2c3d4-e5f6-7890-abcd-ef1234567890/items/19:eyJfdHlwZSI6Ikdyb3VwIiwiaWQiOiIxOTAzMzYyMTIyMTAifQ@EngageCommunity
{
"@odata.type": "#microsoft.graph.teamworkSectionItem",
"@odata.etag": "\"1742515220\"",
"id": "19:eyJfdHlwZSI6Ikdyb3VwIiwiaWQiOiIxOTAzMzYyMTIyMTAifQ@EngageCommunity",
"itemType": "community",
"createdDateTime": "2026-03-08T10:05:00Z",
"lastModifiedDateTime": null
}