Espacio de nombres: microsoft.graph
Agrega filas al final de una tabla.
Tenga en cuenta que esta API puede aceptar varias filas de datos. Agregar una fila a la vez puede afectar al rendimiento. El enfoque recomendado es agrupar las filas por lotes en una sola llamada en lugar de insertar filas únicas. Para obtener los mejores resultados, recopile las filas que se van a insertar en la aplicación y realice una operación de adición de fila única. Experimente con el número de filas para determinar el número ideal de filas que se usarán en una sola llamada API.
En ocasiones, esta solicitud puede dar lugar a un 504 HTTP error. La respuesta adecuada a este error es repetir la solicitud.
Esta API está disponible en las siguientes implementaciones nacionales de nube.
| Servicio global |
Gobierno de EE. UU. L4 |
Us Government L5 (DOD) |
China operada por 21Vianet |
| ✅ |
✅ |
✅ |
❌ |
Permissions
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
| Tipo de permiso |
Permisos con privilegios mínimos |
Permisos con privilegios más altos |
| Delegado (cuenta profesional o educativa) |
Files.ReadWrite |
No disponible. |
| Delegado (cuenta personal de Microsoft) |
No admitida. |
No admitida. |
| Aplicación |
No admitida. |
No admitida. |
Solicitud 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
| Nombre |
Descripción |
| Authorization |
{token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
| Content-Type |
application/json. Necesario. |
| Prefer |
respond-async. Indica que la solicitud es una solicitud asincrónica. Opcional. |
| Workbook-Session-Id |
{Workbook-Session-Id}. Creado a partir de la solicitud createSession . Opcional. |
Cuerpo de la solicitud
En el cuerpo de la solicitud, proporcione un objeto JSON con los siguientes parámetros.
| Parámetro |
Tipo |
Descripción |
| index |
Int32 |
Opcional. Especifica la posición relativa de la nueva fila. Si es null, se produce la adición al final. Las filas situadas debajo de la fila insertada se desplazan hacia abajo. Indizado con cero. |
| values |
Json |
Matriz bidimensional de valores sin formato de las filas de tabla. |
Respuesta
Si se ejecuta correctamente, este método devuelve un 201 Created código de respuesta y un objeto workbookTableRow en el cuerpo de la respuesta.
Ejemplos
Ejemplo 1: Agregar dos filas a una tabla
En este ejemplo, se insertan dos filas de datos al final de la tabla.
Solicitud
En el ejemplo siguiente se muestra la solicitud.
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 obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del 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 obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del 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 obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del 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 obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del 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 obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del 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 obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
Respuesta
En el ejemplo siguiente se muestra la respuesta.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 201 Created
Content-type: application/json
{
"index": 99,
"values": [[1, 2, 3]]
}
Ejemplo 2: Agregar dos filas a una tabla de forma asincrónica
Las solicitudes asincrónicas serán útiles si la solicitud tarda más tiempo del esperado. Tenga en cuenta que el Workbook-Session-Id encabezado es necesario al emitir solicitudes asincrónicas. El usuario debe crear sesión antes de usar características de API enriquecidas asincrónicas. El encabezado Prefer:respond-async también es necesario en las solicitudes asincrónicas.
Para las características asincrónicas, el usuario normalmente necesita emitir dos o tres solicitudes: esta solicitud, Get workbookOperation y, opcionalmente, Get tableRowOperationResult.
Solicitud
Este es un ejemplo de la solicitud asincrónica. Tenga en cuenta que 202 Accepted solo se producirá cuando la solicitud tarde mucho tiempo en responder. Si la solicitud se completa rápidamente, funcionará como una solicitud de sincronización normal, volviendo al ejemplo 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 obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del 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 obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del 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 obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del 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 obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del 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 obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del 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 obtener más información sobre cómo agregar el SDK al proyecto y crear una instancia de authProvider, consulte la documentación del SDK.
Respuesta
Este es otro ejemplo de la respuesta que conducirá a una operación asincrónica. Para obtener más información, vea Get workbookOperation y 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
{
}