使用Graph API更新Excel表格行遇API不存在错误,求对应C#代码
解决Graph API更新Excel表格行的C#代码适配问题
我尝试使用Graph API更新Excel表格中的某一行,按照官方文档编写的C#代码执行后,收到错误提示:The Api you are trying to use could not be found.
官方文档提供的无效代码与请求
官方C#代码
using Microsoft.Graph.Models; using Microsoft.Kiota.Abstractions.Serialization; var requestBody = new WorkbookTableRow { Index = 99, Values = new UntypedString("values-value"), }; var result = await graphClient.Drives["{drive-id}"].Items["{driveItem-id}"].Workbook.Tables["{workbookTable-id}"].Rows["{workbookTableRow-id}"].PatchAsync(requestBody);
官方HTTP请求(Graph Explorer执行失败)
PATCH https://graph.microsoft.com/v1.0/me/drive/items/{id}/workbook/tables/{id|name}/rows/{index} Content-type: application/json { "index": 99, "values": "values-value" }
可正常执行的HTTP请求
在Graph Explorer中,以下请求可以成功执行:
PATCH https://graph.microsoft.com/v1.0/drives/drive-id/items/driveItem-id/workbook/tables/table-id/rows/itemAt(index=0) Content-type: application/json { "values": "values-value" }
对应的C#代码实现
使用Microsoft Graph SDK对应的ItemAt方法构建请求,代码如下:
using Microsoft.Graph.Models; var requestBody = new WorkbookTableRow { Values = new UntypedString("values-value"), }; var result = await graphClient.Drives["{drive-id}"] .Items["{driveItem-id}"] .Workbook .Tables["{workbookTable-id}"] .Rows .ItemAt(0) // 替换为你需要更新的行索引 .PatchAsync(requestBody);
说明
- 调用
Rows.ItemAt(index)方法定位目标行,替代原代码中直接通过Rows["{workbookTableRow-id}"]的方式 - 请求体中无需再指定
Index字段,因为已通过ItemAt方法传入索引
内容的提问来源于stack exchange,提问作者user27523705
相关产品推荐
相关产品推荐

