使用Graph API创建Excel表格时无法自定义表格名称问题
解决Microsoft Graph API创建Excel表格无法自定义名称的问题
问题说明
调用Microsoft Graph API创建Excel表格时,即使在/tables/add接口的请求体中传入name参数,或者修改URL路径(如tables("MYTABLE")/add、tables/MYTABLE/add等),都无法设置自定义表格名称,请求成功后表格会被自动命名(如Table2)。
解决方案
Graph API的tables/add接口不支持在创建时直接指定表格名称,必须分两步操作:
创建表格
发送POST请求创建表格,无需在请求体中传入name参数(传入也会被忽略):- 请求地址:
https://graph.microsoft.com/v1.0/drives/b!4IXXX-XXX/list/items/39/driveitem/workbook/worksheets('MeTest')/tables/add - 请求头:
Content-type: application/json - 请求体:
{ "address": "OFFSET('MeTest'!A1,0,0,SUBTOTAL(103,'MeTest'!$A:$A),17)", "hasHeaders": true }
请求成功后,返回的响应数据中会包含表格的自动生成名称(如
Table2)。- 请求地址:
更新表格名称
基于返回的自动生成名称,发送PATCH请求修改表格名称:- 请求地址:
https://graph.microsoft.com/v1.0/drives/b!4IXXX-XXX/list/items/39/driveitem/workbook/worksheets('MeTest')/tables('Table2') - 请求头:
Content-type: application/json - 请求体:
{ "name": "MYTABLE" }
- 请求地址:
原因说明
/tables/add接口的官方参数定义中并不包含name字段,因此创建时传入该参数会被服务器忽略。必须通过单独的PATCH请求更新表格属性,才能设置自定义名称。
内容的提问来源于stack exchange,提问作者J James
相关产品推荐
相关产品推荐

