【问题标题】:MS GRAPH FieldValueSet for Updating a Person Field with graph .NET APIMS GRAPH FieldValueSet 用于使用图形 .NET API 更新人员字段
【发布时间】:2020-06-14 21:01:09
【问题描述】:

我尝试更新名为“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”,它不会更新人员字段。

有人知道如何让它工作吗? 谢谢

【问题讨论】:

标签: sharepoint .net-core microsoft-graph-api microsoft-graph-files


【解决方案1】:

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

更新:person 字段值应该是 int 值而不是 string 值。

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);

【讨论】:

  • 在我的代码中, comm.Editor.Id.ToString() =="6" 仍然没有工作
  • @OferGal,问题与值关系不大,您使用的属性名称错误,将 CurrentAssignedToId 更改为 CurrentAssignedToLookupId
  • 更新帖子,将值改为int类型而不是字符串类型。
  • @OferGal,请尝试帖子中的建议,如果您更新,请分享信息。 :)
  • 我可以看到如何将其标记为坏但无知的我,我不知道如何将其标记为一个好的答案。 (新问题:-))知道了,忘了我:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-30
  • 1970-01-01
  • 2020-01-03
相关资源
最近更新 更多