Namespace: microsoft.graph
Adiciona linhas ao fim de uma tabela.
Tenha em atenção que esta API pode aceitar várias linhas de dados. Adicionar uma linha de cada vez pode afetar o desempenho. A abordagem recomendada é juntar as linhas numa única chamada em vez de inserir linhas individuais. Para obter os melhores resultados, recolha as linhas a inserir no lado da aplicação e execute uma única operação de adição de linha. Experimente o número de linhas para determinar o número ideal de linhas a utilizar numa única chamada à API.
Este pedido pode, ocasionalmente, resultar num 504 HTTP erro. A resposta apropriada para esta mensagem de erro é repetir a solicitação.
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) |
Files.ReadWrite |
Indisponível. |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Aplicativo |
Sem suporte. |
Sem suporte. |
Solicitação HTTP
POST /me/drive/items/{id}/workbook/tables/{id|name}/rows
POST /me/drive/root:/{item-path}:/workbook/tables/{id|name}/rows
POST /me/drive/items/{id}/workbook/worksheets/{id|name}/tables/{id|name}/rows
POST /me/drive/root:/{item-path}:/workbook/worksheets/{id|name}/tables/{id|name}/rows
| Nome |
Descrição |
| Autorização |
{token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
| Content-Type |
application/json. Obrigatório. |
| Preferir |
respond-async. Indica que o pedido é um pedido assíncrono. Opcional. |
| Workbook-Session-Id |
{Workbook-Session-Id}. Criado a partir do pedido createSession . Opcional. |
Corpo da solicitação
Forneça um objeto JSON com os seguintes parâmetros no corpo da solicitação.
| Parâmetro |
Tipo |
Descrição |
| índice |
Int32 |
Opcional. Especifica a posição relativa da nova linha. Se for nulo, a adição ocorre no final. Todas as linhas abaixo da linha inserida serão deslocadas para baixo. Indexado com zero. |
| values |
Json |
Uma matriz bidimensional de valores não formatados das linhas da tabela. |
Resposta
Se for bem-sucedido, este método devolve um 201 Created código de resposta e um objeto workbookTableRow no corpo da resposta.
Exemplos
Exemplo 1: Adicionar duas linhas a uma tabela
Neste exemplo, são inseridas duas linhas de dados no final da tabela.
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/v1.0/me/drive/items/01CCETFLK7GVZTZHSQNRD2AEI5XWTCU6FJ/workbook/tables/Table1/rows
Content-type: application/json
{
"values": [
[1, 2, 3],
[4, 5, 6]
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
using Microsoft.Kiota.Abstractions.Serialization;
var requestBody = new WorkbookTableRow
{
Values = new UntypedArray(new List<UntypedNode>
{
new UntypedArray(new List<UntypedNode>
{
new UntypedDouble(1),
new UntypedDouble(2),
new UntypedDouble(3),
}),
new UntypedArray(new List<UntypedNode>
{
new UntypedDouble(4),
new UntypedDouble(5),
new UntypedDouble(6),
}),
}),
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Drives["{drive-id}"].Items["{driveItem-id}"].Workbook.Tables["{workbookTable-id}"].Rows.PostAsync(requestBody);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewWorkbookTableRow()
values := []graph.UntypedNodeable {
:= []graph.UntypedNodeable {
:= float64(1)
requestBody.Set(&)
:= float64(2)
requestBody.Set(&)
:= float64(3)
requestBody.Set(&)
}
:= []graph.UntypedNodeable {
:= float64(4)
requestBody.Set(&)
:= float64(5)
requestBody.Set(&)
:= float64(6)
requestBody.Set(&)
}
}
requestBody.SetValues(values)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
rows, err := graphClient.Drives().ByDriveId("drive-id").Items().ByDriveItemId("driveItem-id").Workbook().Tables().ByWorkbookTableId("workbookTable-id").Rows().Post(context.Background(), requestBody, nil)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
WorkbookTableRow workbookTableRow = new WorkbookTableRow();
LinkedList<LinkedList<UntypedNode>> values = new LinkedList<LinkedList<UntypedNode>>();
LinkedList<UntypedNode> = new LinkedList<UntypedNode>();
.add(1d);
.add(2d);
.add(3d);
values.add();
LinkedList<UntypedNode> 4 = new LinkedList<UntypedNode>();
4.add(4d);
4.add(5d);
4.add(6d);
values.add(4);
workbookTableRow.setValues(values);
WorkbookTableRow result = graphClient.drives().byDriveId("{drive-id}").items().byDriveItemId("{driveItem-id}").workbook().tables().byWorkbookTableId("{workbookTable-id}").rows().post(workbookTableRow);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const workbookTableRow = {
values: [
[1, 2, 3],
[4, 5, 6]
]
};
await client.api('/me/drive/items/01CCETFLK7GVZTZHSQNRD2AEI5XWTCU6FJ/workbook/tables/Table1/rows')
.post(workbookTableRow);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\WorkbookTableRow;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new WorkbookTableRow();
$requestBody->setValues([ [1,2,3], [4,5,6], ]);
$result = $graphServiceClient->drives()->byDriveId('drive-id')->items()->byDriveItemId('driveItem-id')->workbook()->tables()->byWorkbookTableId('workbookTable-id')->rows()->post($requestBody)->wait();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.workbook_table_row import WorkbookTableRow
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = WorkbookTableRow(
values = [
[
1,
2,
3,
],
[
4,
5,
6,
],
],
)
result = await graph_client.drives.by_drive_id('drive-id').items.by_drive_item_id('driveItem-id').workbook.tables.by_workbook_table_id('workbookTable-id').rows.post(request_body)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
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
{
"index": 99,
"values": [[1, 2, 3]]
}
Exemplo 2: Adicionar duas linhas a uma tabela de forma assíncrona
Os pedidos assíncrono serão úteis se o pedido demorar mais tempo do que o esperado. Tenha em atenção que o Workbook-Session-Id cabeçalho é necessário ao emitir pedidos assíncronas. O utilizador tem de Criar sessão antes de utilizar as funcionalidades de API avançada assíncrona. O cabeçalho Prefer:respond-async também é necessário nos pedidos assíncrono.
Para funcionalidades assíncronas, o utilizador geralmente tem de emitir dois ou três pedidos: este pedido, Obter workbookOperation e, opcionalmente, Obter tableRowOperationResult.
Solicitação
Eis um exemplo do pedido assíncrono. Tenha em atenção que 202 Accepted isso só acontecerá quando o pedido demorar muito tempo a responder. Se o pedido for concluído rapidamente, funcionará como um pedido de sincronização normal, revertendo para o Exemplo 1.
POST https://graph.microsoft.com/v1.0/me/drive/items/01CCETFLK7GVZTZHSQNRD2AEI5XWTCU6FJ/workbook/tables/Table1/rows
Content-type: application/json
Prefer: respond-async
Workbook-Session-Id: {Workbook-Session-Id}
{
"values": [
[1, 2, 3],
[4, 5, 6]
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
using Microsoft.Kiota.Abstractions.Serialization;
var requestBody = new WorkbookTableRow
{
Values = new UntypedArray(new List<UntypedNode>
{
new UntypedArray(new List<UntypedNode>
{
new UntypedDouble(1),
new UntypedDouble(2),
new UntypedDouble(3),
}),
new UntypedArray(new List<UntypedNode>
{
new UntypedDouble(4),
new UntypedDouble(5),
new UntypedDouble(6),
}),
}),
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Drives["{drive-id}"].Items["{driveItem-id}"].Workbook.Tables["{workbookTable-id}"].Rows.PostAsync(requestBody, (requestConfiguration) =>
{
requestConfiguration.Headers.Add("Prefer", "respond-async");
requestConfiguration.Headers.Add("Workbook-Session-Id", "{Workbook-Session-Id}");
});
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
abstractions "github.com/microsoft/kiota-abstractions-go"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
graphdrives "github.com/microsoftgraph/msgraph-sdk-go/drives"
//other-imports
)
headers := abstractions.NewRequestHeaders()
headers.Add("Prefer", "respond-async")
headers.Add("Workbook-Session-Id", "{Workbook-Session-Id}")
configuration := &graphdrives.ItemItemsItemWorkbookTablesItemRowsRequestBuilderPostRequestConfiguration{
Headers: headers,
}
requestBody := graphmodels.NewWorkbookTableRow()
values := []graph.UntypedNodeable {
:= []graph.UntypedNodeable {
:= float64(1)
requestBody.Set(&)
:= float64(2)
requestBody.Set(&)
:= float64(3)
requestBody.Set(&)
}
:= []graph.UntypedNodeable {
:= float64(4)
requestBody.Set(&)
:= float64(5)
requestBody.Set(&)
:= float64(6)
requestBody.Set(&)
}
}
requestBody.SetValues(values)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
rows, err := graphClient.Drives().ByDriveId("drive-id").Items().ByDriveItemId("driveItem-id").Workbook().Tables().ByWorkbookTableId("workbookTable-id").Rows().Post(context.Background(), requestBody, configuration)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
WorkbookTableRow workbookTableRow = new WorkbookTableRow();
LinkedList<LinkedList<UntypedNode>> values = new LinkedList<LinkedList<UntypedNode>>();
LinkedList<UntypedNode> = new LinkedList<UntypedNode>();
.add(1d);
.add(2d);
.add(3d);
values.add();
LinkedList<UntypedNode> 4 = new LinkedList<UntypedNode>();
4.add(4d);
4.add(5d);
4.add(6d);
values.add(4);
workbookTableRow.setValues(values);
WorkbookTableRow result = graphClient.drives().byDriveId("{drive-id}").items().byDriveItemId("{driveItem-id}").workbook().tables().byWorkbookTableId("{workbookTable-id}").rows().post(workbookTableRow, requestConfiguration -> {
requestConfiguration.headers.add("Prefer", "respond-async");
requestConfiguration.headers.add("Workbook-Session-Id", "{Workbook-Session-Id}");
});
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
const options = {
authProvider,
};
const client = Client.init(options);
const workbookTableRow = {
values: [
[1, 2, 3],
[4, 5, 6]
]
};
await client.api('/me/drive/items/01CCETFLK7GVZTZHSQNRD2AEI5XWTCU6FJ/workbook/tables/Table1/rows')
.post(workbookTableRow);
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Drives\Item\Items\Item\Workbook\Tables\Item\Rows\RowsRequestBuilderPostRequestConfiguration;
use Microsoft\Graph\Generated\Models\WorkbookTableRow;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new WorkbookTableRow();
$requestBody->setValues([ [1,2,3], [4,5,6], ]);
$requestConfiguration = new RowsRequestBuilderPostRequestConfiguration();
$headers = [
'Prefer' => 'respond-async',
'Workbook-Session-Id' => '{Workbook-Session-Id}',
];
$requestConfiguration->headers = $headers;
$result = $graphServiceClient->drives()->byDriveId('drive-id')->items()->byDriveItemId('driveItem-id')->workbook()->tables()->byWorkbookTableId('workbookTable-id')->rows()->post($requestBody, $requestConfiguration)->wait();
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.drives.item.items.item.workbook.tables.item.rows.rows_request_builder import RowsRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
from msgraph.generated.models.workbook_table_row import WorkbookTableRow
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = WorkbookTableRow(
values = [
[
1,
2,
3,
],
[
4,
5,
6,
],
],
)
request_configuration = RequestConfiguration()
request_configuration.headers.add("Prefer", "respond-async")
request_configuration.headers.add("Workbook-Session-Id", "{Workbook-Session-Id}")
result = await graph_client.drives.by_drive_id('drive-id').items.by_drive_item_id('driveItem-id').workbook.tables.by_workbook_table_id('workbookTable-id').rows.post(request_body, request_configuration = request_configuration)
Para obter detalhes sobre como adicionar o SDK ao seu projeto e criar uma instância authProvider, consulte a documentação do SDK.
Resposta
Eis outro exemplo da resposta que levará a uma operação assíncrona. Para obter detalhes, veja Obter workbookOperation e Get tableRowOperationResult.
HTTP/1.1 202 Accepted
Location: https://graph.microsoft.com/v1.0/me/drive/items/01CCETFLK7GVZTZHSQNRD2AEI5XWTCU6FJ/workbook/operations/0195cfac-bd22-4f91-b276-dece0aa2378b?sessionId=Y2x1c3Rlcj1QU0c0JnNlc3Npb249MTUuU0cyUEVQRjAwMDI4RjI1MS5BMTE2LjEuVTM2LmM4MGRiNjkwLTQwMTktNGNkNS1hYWJiLTJmYzczM2YxZTQ5ZjE0LjUuZW4tVVM1LmVuLVVTMjQuMTAwM2JmZmRhYzUyMzkzOS1Qcml2YXRlMS5TMjQuJTJmUEI0JTJmWjJqZmt1aXhJZHBjeE8xYmclM2QlM2QxNi4xNi4wLjE0NDEwLjM1MDUwMTQuNS5lbi1VUzUuZW4tVVMxLk0xLk4wLjEuUyZ1c2lkPWExOTMyNTU0LTlhNDAtNzYzNi1mNDU3LWEyNjExMmFkNDg2YQ==
Content-type: application/json
{
}