在 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}
标头。
要了解如何创建和使用会话,请参阅创建会话参考主题。