我正在尝试使用 GraphApi 更新表中的一行。根据文档,代码应该如下所示:
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);
我收到错误消息“找不到您尝试使用的 Api。”
根据文档的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"
}
如果我在 Graph Explorer 中调用以下命令,它就会起作用:
https://graph.microsoft.com/v1.0/drives/drive-id/items/driveItem-id/workbook/tables/table-id/rows/**itemAt(index=0)**
{
"values": "values-value"
}
C# 代码是什么样的?
正确的代码应该是这样的
var requestBody = new WorkbookTableRow
{
Values = new UntypedArray(new List<UntypedNode>
{
new UntypedArray(new List<UntypedNode>
{
new UntypedString("column1-value"),
new UntypedString("column2-value")
})
})
};
var result = await graphClient.Drives["{drive-id}"].Items["{driveItem-id}"].Workbook.Tables["{workbookTable-id}"].Rows.ItemAtWithIndex(99).PatchAsync(requestBody);
不幸的是,SDK 没有为端点生成 PatchAsync 方法
https://graph.microsoft.com/v1.0/drives/drive-id/items/driveItem-id/workbook/tables/table-id/rows/itemAt(index=0)
{
"values": "values-value"
}
请在 Graph .NET SDK 存储库中为此创建一个新问题:
https://github.com/microsoftgraph/msgraph-sdk-dotnet/issues
目前没有解决方法