在 Excel 中管理会话和持久性

如果应用程序需要对 Microsoft Graph 中的 Excel API 进行一次或两次以上的调用,请创建一个会话,并为每个请求传递会话 ID。 请求中存在会话 ID 可确保以最有效的方式使用 Excel API。

可通过以下三个模式之一下调用 Excel API:

  • 持久会话: 对工作簿所做的所有更改将保留 (保存到工作簿) 。 这是使用 Excel API 最高效且性能最佳的方式。

  • 非持久性会话: API 所做的更改不会保存到源位置。 而是,Excel 后端服务器将保留文件的临时副本,用于反映在特定 API 会话期间所做的更改。 Excel 会话过期时,这些更改将丢失。 此模式可用于需要进行分析或获得计算结果或图表图像的应用,但不会影响文档状态。

  • 无会话: API 调用不传递会话 ID。 Excel 服务器必须找到每个操作的工作簿的服务器副本。 这不是调用 Excel API 的有效方式,但它适用于进行某些类型的隔离请求。

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

注意

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

请求类型

Excel API 的建议 错误处理 基于请求类型、错误代码和状态代码。 以下是请求类型:

  • CreateSession 请求: 用于创建持久会话或非持久性会话。 在成功的响应中,会话 ID 将在响应正文的 id 属性中返回。 有关详细信息,请参阅 创建会话
  • 会话请求: CreateSession 请求之后的后续请求。 它们通常包含标头 workbook-session-id: {session-id} 。 轮询状态请求例外,它使用长时间运行的操作模式。 有关详细信息,请参阅 使用需要很长时间才能完成的 API
  • 无会话请求: 在无会话模式下使用。 这些请求没有 workbook-session-id: {session-id} 标头。

后续步骤

要了解如何创建和使用会话,请参阅创建会话参考主题