从 SharePoint 列表项获取自定义字段

wiv*_*vku 5 sharepoint microsoft-graph-api

使用 Beta SharePoint REST API(使用Microsoft Graph)。想要获取列表的所有项目,包括自定义字段的内容。

当我使用时,https://graph.microsoft.com/beta/sites/{site-id}/lists/{list-id}?expand=columns,items(expand=fields)我看到(就我而言):

  • columns包含 32 个字段,包括标准字段(例如ID, Title, Status)和自定义字段(例如Next_action
  • fields仅包含默认(在我的情况下为 23)字段,包括id[注意它是小写],Title以及Status字段和 - 正如预期的那样 - 不是自定义字段。

文档显示了获取特定列的示例。当我使用https://graph.microsoft.com/beta/sites/{site-id}/lists/{list-id}/items?expand=fields(select=ID,Title,Status,Next_action)

然后我得到一个包含所有项目的数组,每个项目fields只包含属性的对象id

所以:其他标准字段 ( Title, Status) 和自定义字段Next_action不显示。

如何获取标准和自定义字段列表的值?


编辑:有关我拥有的列表的更多详细信息:

一些列表是已定制的默认列表(我相信任务、问题、风险),其他列表是完全自定义的(决策、变更)。任务列表具有版本控制。
一些观察:

  • 决策列表没有缺失的字段(=columns与实际没有区别fields
  • 它们都有“缺失”:ID|Author|Editor|DocIcon|AppAuthor|AppEditor,以及不在列中的字段:id|AuthorLookupId|EditorLookupId;我猜两者都可以解释(注意列中的 ID 和字段中的 id)
  • 缺失的字段有多种类型:文本(丰富/普通、单行/多行)、数字、选择等。

可能相关,当使用 Flow 时,我为“创建或修改项目时”创建了一个触发器,然后我只看到 2 个列表(更改和决策)。缺失:任务、风险、问题。

任务

  • 字段(19):“标题|前驱|优先级|状态|百分比完成|分配给|正文|开始日期|复选标记|内容类型|修改|创建|_UIVersionString|附件|编辑|LinkTitleNoMenu|LinkTitle|ItemChildCount|FolderChildCount”
  • 缺少(13):“截止日期|相关项目|JIRA_id|Progress_notes|Next_action|Waiting_for|Updates | ID|Author|Editor|DocIcon|AppAuthor|AppEditor
  • 不在列 (4) 中的字段:“ PercentComplete@odata.type | id|AuthorLookupId|EditorLookupId

风险

  • 字段(22):“标题|状态|类别|截止日期|概率|影响|曝光|成本|成本_x0020_曝光|描述|缓解_x0020_计划|触发器|内容类型|修改|创建|_UIVersionString|附件|编辑|链接标题|子项计数|
  • 缺少(12):“所有者|分配给|Impact_x0020_description|Contingency_x0020_plan|Trigger_x0020_Description|RelatedItems | ID|Author|Editor|DocIcon|AppAuthor|AppEditor
  • 不在列 (7) 中的字段:“ OwnerLookupId|Probability@odata.type|Impact@odata.type|Cost@odata.type | id|AuthorLookupId|EditorLookupId

问题

  • 字段(16):“ContentType|Title|Modified|Created|_UIVersionString|Attachments|Edit|LinkTitleNoMenu|LinkTitle|ItemChildCount|FolderChildCount|Status|Category|Priority|DueDate|Discussion”
  • 缺少(10):“ ID|作者|编辑器|DocIcon|AppAuthor|AppEditor |所有者|分配给|解析|相关项目
  • 不在列 (5) 中的字段:“ id|AuthorLookupId|EditorLookupId | OwnerLookupId|AssignedToLookupId

决定

  • 字段(14):“标题|描述|Decided_by|Date_decided|ContentType|Modified|Created|_UIVersionString|Attachments|Edit|LinkTitleNoMenu|LinkTitle|ItemChildCount|FolderChildCount”
  • 缺少(6):“ ID|作者|编辑器|DocIcon|AppAuthor|AppEditor
  • 不在列 (3) 中的字段:“ id|AuthorLookupId|EditorLookupId

变化

  • 字段(13):“Title|Status|Priority|ContentType|Modified|Created|_UIVersionString|Attachments|Edit|LinkTitleNoMenu|LinkTitle|ItemChildCount|FolderChildCount”
  • 缺失(14):“描述|动作|背景|影响|Impact_x0020_delivery_x0020_time|Impact_effort|Impact_functionality|Impact_cost | ID|作者|编辑|DocIcon|AppAuthor|AppEditor
  • 不在列 (3) 中的字段:“ id|AuthorLookupId|EditorLookupId

Mar*_*eur 3

/beta当前端点周围似乎存在错误$expand={field}($select={field})。我看到了类似的结果。

然而,当我使用时,我看到了完整的字段列表:

/beta/sites/{site-id}/lists/{list-id}/items?$expand=fields

我还可以使用以下方法返回完整的列、项目和字段集:

/beta/sites/{site-id}/lists/{list-id}$expand=columns,items($expand=fields)

目前,您需要提取整个集合并处理应用程序中的任何其他处理。作为测试版,有几个错误仍在解决中。这就是为什么不建议将其用于生产。