Поделиться через


Создание сеанса

Пространство имен: microsoft.graph

Создайте новый сеанс книги.

Интерфейсы API Excel можно вызвать в одном из двух режимов.

  1. Постоянный сеанс — все изменения, внесенные в книгу, сохраняются (сохраненные). Это обычный режим работы.
  2. Временный сеанс — изменения, внесенные интерфейсом API, не сохраняются в исходном расположении. Вместо этого внутренний сервер Excel сохраняет временную копию файла, в которой отражены изменения, внесенные во время конкретного сеанса API. Когда истечет срок действия сеанса Excel, изменения будут потеряны. Этот режим удобен для приложений, которым нужно выполнять анализ или получать результаты вычислений или изображение диаграммы, не изменяя состояние документа.

Чтобы представить сеанс в API, воспользуйтесь заголовком workbook-session-id: {session-id}.

Примечание: Заголовок сеанса не требуется для работы API Excel. Однако для повышения производительности рекомендуется использовать заголовок сеанса. Если вы не используете заголовок сеанса, изменения, внесенные во время вызова API, сохраняются в файле.

В некоторых случаях для создания нового сеанса требуется неопределенное время. Microsoft Graph также предоставляет шаблон длительных операций. Этот шаблон предоставляет способ опроса на наличие обновлений состояния создания, не дожидаясь завершения создания. Ниже приведены шаги.

  1. В Prefer: respond-async запрос добавляется заголовок, указывающий, что это длительная операция.
  2. Ответ возвращает Location заголовок, указывающий URL-адрес для опроса состояния операции создания. Состояние операции можно получить, перейдя по указанному URL-адресу. Состояние будет иметь одно из следующих значений: notStarted, running, succeededили failed.
  3. После завершения операции можно снова запросить состояние, и в ответе отобразится значение succeeded или failed.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Обработка ошибок

Иногда при выполнении этого запроса может отображаться сообщение об ошибке 504 HTTP. В этом случае нужно повторить запрос.

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) Files.ReadWrite Недоступно.
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Для приложений Не поддерживается. Не поддерживается.

HTTP-запрос

POST /me/drive/items/{id}/workbook/createSession
POST /me/drive/root:/{item-path}:/workbook/createSession

Заголовки запросов

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.

Текст запроса

В теле запроса укажите представление JSON объекта WorkbookSessionInfo.

Отклик

В случае успешного выполнения этот метод возвращает код отклика 201 Created и объект workbookSessionInfo в теле отклика. Для длительной операции он возвращает код отклика 202 Accepted и Location заголовок с пустым текстом в ответе.

Примеры

Пример 1. Создание сеанса с шаблоном длительных операций

Запрос

POST https://graph.microsoft.com/beta/me/drive/items/{drive-item-id}/workbook/createSession
Prefer: respond-async
Content-type: application/json

{
    "persistChanges": true
}

Отклик

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 202 Accepted
Location: https://graph.microsoft.com/v1.0/me/drive/items/{drive-item-id}/workbook/operations/{operation-id}
Content-type: application/json

{
}

В ответе 202 Accepted см. раздел Работа с API, которые занимают много времени, чтобы получить состояние операции и получить результат создания сеанса.

Пример 2. Создание базового сеанса

Запрос

POST https://graph.microsoft.com/beta/me/drive/items/{id}/workbook/createSession
Content-type: application/json

{
  "persistChanges": true
}

Отклик

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 201 Created
Content-type: application/json

{
  "id": "id-value",
  "persistChanges": true
}