workbook:createSession

命名空间:microsoft.graph

创建新的工作簿会话。

可以在以下任一模式下调用 Excel API:

  1. 永久会话 - 保持(保存)对工作簿所做的全部更改。这是常用的操作模式。
  2. 非永久会话 - 不会将 API 所做的更改保存到源位置。相反,Excel 后端服务器保留文件的临时副本,体现在特定 API 会话期间所做的更改。Excel 会话过期时,这些更改将丢失。此模式可用于需要进行分析或获得计算结果或图表图像的应用,但不会影响文档状态。

若要表示 API 中的会话,请使用 workbook-session-id: {session-id} 标头。

注意: Excel API 不需要会话标头也能起作用。但是,建议你使用会话标头来提高性能。如果不使用会话标头,API 调用过程中进行的更改 保持在该文件中。

在某些情况下,创建新会话需要不确定的时间才能完成。 Microsoft Graph 还提供长时间运行的操作模式。 此模式提供了一种轮询创建状态更新的方法,而无需等待创建完成。 步骤如下:

  1. 标头 Prefer: respond-async 将添加到请求中,以指示这是长时间运行的操作。
  2. 响应返回标头 Location 以指定轮询创建操作状态的 URL。 可以通过访问指定的 URL 获取操作状态。 状态将为以下项之一 notStarted running :、、或 succeeded failed
  3. 操作完成后,可以再次请求状态,响应将显示 或 succeeded failed

错误处理

此请求有时可能会收到 504 HTTP 错误。 此错误的适当响应做法是重复发出请求。

Permissions

要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) Files.ReadWrite
委派(个人 Microsoft 帐户) 不支持。
应用程序 不支持。

HTTP 请求

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

请求标头

名称 说明
Authorization Bearer {token}。必需。

请求正文

在请求正文中,提供 workbookSessionInfo 对象的 JSON 表示形式。

响应

如果成功,此方法在响应正文中返回 响应代码和 201 Created workbookSessionInfo 对象。 对于长时间运行的操作,它将在响应中返回 响应代码和包含空正文 202 Accepted Location 的标头。

示例

示例 1:基本会话创建

请求

POST https://graph.microsoft.com/v1.0/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
}

示例 2:使用长时间运行的操作模式创建会话

请求

POST https://graph.microsoft.com/v1.0/me/drive/items/{drive-item-id}/workbook/worksheets({id})/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
{
}