Обратите внимание, что этот API может принимать несколько строк данных. Добавление одной строки за раз может повлиять на производительность. Рекомендуемый подход заключается в том, чтобы объединить строки в один вызов, а не вставлять отдельные строки. Для достижения наилучших результатов соберите строки для вставки на стороне приложения и выполните одну операцию добавления строк. Поэкспериментируйте с количеством строк, чтобы определить идеальное количество строк для использования в одном вызове API.
Иногда этот запрос может привести к ошибке 504 HTTP . В этом случае нужно повторить запрос.
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения
Разрешения с наименьшими привилегиями
Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись)
Files.ReadWrite
Недоступно.
Делегированные (личная учетная запись Майкрософт)
Не поддерживается.
Не поддерживается.
Для приложений
Не поддерживается.
Не поддерживается.
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
асинхронное реагирование. Указывает, что запрос является асинхронным. Необязательный параметр.
Workbook-Session-Id
{Workbook-Session-Id}. Создано из запроса createSession . Необязательный параметр.
Текст запроса
В тексте запроса предоставьте JSON-объект с указанными ниже параметрами.
Параметр
Тип
Описание
index
Int32
Необязательный параметр. Определяет относительную позицию новой строки. Если параметру присвоено значение null, строка добавляется в конце. Все строки ниже вставляемой строки сдвигаются вниз. Используется нулевой индекс.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new WorkbookTableRow
{
Values = new List<List<Number>>
{
new List<Number>
{
1,
2,
3,
},
new List<Number>
{
4,
5,
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);
// 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<Number>> values = new LinkedList<LinkedList<Number>>();
LinkedList<Number> json = new LinkedList<Number>();
json.add(1);
json.add(2);
json.add(3);
values.add(json);
LinkedList<Number> json1 = new LinkedList<Number>();
json1.add(4);
json1.add(5);
json1.add(6);
values.add(json1);
workbookTableRow.setValues(values);
WorkbookTableRow result = graphClient.drives().byDriveId("{drive-id}").items().byDriveItemId("{driveItem-id}").workbook().tables().byWorkbookTableId("{workbookTable-id}").rows().post(workbookTableRow);
Пример 2. Асинхронное добавление двух строк в таблицу
Асинхронные запросы будут полезны, если запрос занимает больше времени, чем ожидалось. Обратите внимание, что Workbook-Session-Id заголовок является обязательным при выдаче асинхронных запросов. Пользователю необходимо создать сеанс перед использованием функций API с асинхронным интерфейсом. Заголовок Prefer:respond-async также требуется в асинхронных запросах.
Ниже приведен пример асинхронного запроса. Обратите внимание, что 202 Accepted это происходит только в том случае, если запрос занимает много времени. Если запрос выполнен быстро, он будет работать как обычный запрос синхронизации, возвращаясь к примеру 1.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new WorkbookTableRow
{
Values = new List<List<Number>>
{
new List<Number>
{
1,
2,
3,
},
new List<Number>
{
4,
5,
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}");
});
// 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<Number>> values = new LinkedList<LinkedList<Number>>();
LinkedList<Number> json = new LinkedList<Number>();
json.add(1);
json.add(2);
json.add(3);
values.add(json);
LinkedList<Number> json1 = new LinkedList<Number>();
json1.add(4);
json1.add(5);
json1.add(6);
values.add(json1);
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}");
});
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе https://aka.ms/ContentUserFeedback.