【问题标题】:Microsoft Graph - Issue with empty SharePoint ChoiceFieldMicrosoft Graph - 空 SharePoint ChoiceField 问题
【发布时间】:2018-09-12 16:53:21
【问题描述】:

我在打电话时收到了意外的响应

https://graph.microsoft.com/v1.0/sites/root/lists/SomeList?$expand=items($expand=fields)

如果我有一个选择字段类型的“部门”字段,其中某些项目没有选择任何内容,我会收到以下(缩写)响应:

{
    items: [
        {
            fields: {
                Id: "some-item-without-selection"
                // No Departments field
            }
        },
        {
            fields: {
                Id: "some-item-with-selection",
                Departments: ["Sales"]
            }
        }
    ]
}

我希望响应中的第一项是这样的:

{
    items: [
        {
            fields: {
                Id: "some-item-without-selection",
                Departments: [] // Empty array
            }
        }
    ]
}

我们有一个字段(列)是可选的情况。定义该字段后,它会为某个项目启用附加功能。

在这种情况下,空数组(ChoiceField 中未选择任何内容)不等同于未在列表中定义字段的情况。因此,我们无法通过 Microsoft Graph API 中的当前实现来区分这两种情况。

附注 1:我们能够使用 SharePoint REST API 做到这一点。

旁注2:空文本字段由api返回Title: ""

这是预期的行为吗?

【问题讨论】:

  • 您找到解决方案了吗?我也遇到了同样的问题。
  • @IvanWilson 不,还没有解决方案。

标签: sharepoint microsoft-graph-api


【解决方案1】:

这是为 Graph API 设计的,作为一种解决方法,您可以为此字段设置默认值。

要访问 SharePoint 列表数据,我建议您使用 SharePoint REST API 来实现。

/_api/web/lists/getbytitle('SomeList')/items

【讨论】:

  • 1) 我看不出设置默认值有什么帮助。当用户取消选择 SharePoint 中的所有选项时,会出现此问题。 2) 我无法使用 SharePoint REST API,因为我们使用的是 SharePoint REST API 不支持的 Azure AD v2 身份验证。
  • 打开SharePoint站点,进入列表->列表设置->找到“部门”栏->设置该栏的默认值。
  • 我知道如何在列表中设置默认值,我们已经在使用它了。我是说:你的建议不能解决我的问题。用户可以决定取消选中特定项目的选择字段中的所有选项。这些是触发此问题的项目。
猜你喜欢
  • 2019-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多