CheckFileInfo接口调用后wopi/files/{id}/contents接口未触发问题排查
排查Office Online未触发
wopi/files/{id}/contents接口的常见原因 1. CheckFileInfo响应关键字段校验
先确认返回的JSON中以下核心字段是否符合要求:
BaseFileName:必须是带有效扩展名的文件名(如report.xlsx),Office Online依赖扩展名识别文件类型,格式错误会直接跳过内容请求Size:需为非负整数,0或负数会被判定为无内容文件CanRead:必须设为true,否则Office会判定用户无读取权限,终止后续流程LastModifiedTime:需严格遵循ISO 8601格式(如2024-06-10T09:15:30Z),格式错误会导致Office认为文件无效UserId:需提供有效的用户标识,缺失或格式异常可能触发权限拦截
示例合规字段片段:
{ "BaseFileName": "project.docx", "Size": 20480, "CanRead": true, "LastModifiedTime": "2024-06-10T09:15:30Z", "UserId": "user_001" }
2. 响应状态码与头部检查
- 必须返回
200 OK状态码,3xx重定向、4xx/5xx错误都会导致Office终止流程 - 响应头部需设置
Content-Type: application/json,否则Office无法正确解析响应内容
3. WOPI端点URL正确性验证
确认提供给Office Online的WOPI根端点无误:
- 根端点需指向你的WOPI服务域名(如
https://your-storage-service.com/wopi) - 直接测试
wopi/files/{id}/contents接口,确保能返回200 OK和正确的文件二进制内容
4. 文件权限与状态检查
- 确保当前用户实际拥有文件读取权限,若
CanRead设为true但服务侧权限校验不通过,Office会静默终止请求 - 检查文件是否处于锁定/损坏状态,这类状态需通过
Lock或LockedByOtherUser字段在CheckFileInfo中正确返回,否则Office会跳过内容请求
5. 代码实现细节排查
- 检查JSON响应格式:确保无语法错误(如末尾多余逗号)、字段名大小写正确(WOPI字段区分大小写,
basefilename会被Office忽略) - 排查自定义验证逻辑:若服务添加了会话令牌、IP白名单等校验,需确保Office的后续请求能通过验证,比如令牌有效期是否覆盖整个流程
内容的提问来源于stack exchange,提问作者madibat
相关产品推荐
相关产品推荐

