0

我试图更新一个名为“CurrentAssignedTo”的人,如下所示:

var fieldValueSet = new FieldValueSet                {
    AdditionalData = new Dictionary<string, object>(){
    {"CurrentQueue", "Editor"},{"JobStatus", $"Questions answered by {comm.User}"}, 
    {"CurrentAssignedToId", comm.Editor.Id.ToString()}        }                };

但是这条线:

await graphClient.Sites[site.Id].Lists[list.Id].Items[items[0].Id].Fields.Request().UpdateAsync(fieldValueSet);

名称“CurrentAssignedToId”上的错误(就像我以前对 SharePoint API 所做的那样)

但如果我使用“CurrentAssignedTo”,它不会更新人员字段。

任何人都知道如何使它工作?谢谢

4

1 回答 1

1

在 Graph API 中,应在人员字段名称后附加 LookupId,如下所示:

更新:人员字段值应该是 int 值而不是字符串值。

GraphServiceClient graphClient = new GraphServiceClient(authProvider);

    var fieldValueSet = new FieldValueSet
    {
        AdditionalData = new Dictionary<string, object>()
        {
            {"Title", "Title123"},
            {"CurrentAssignedToLookupId", 15}
        }
    };

    var result = graphClient.Sites["siteId"].Lists["ListId"].Items["ItemId"].Fields.Request().UpdateAsync(fieldValueSet);

在此处输入图像描述

于 2020-06-15T09:13:15.820 回答