Недопустимый фильтр OData для SharePoint - PullRequest
0 голосов
/ 03 апреля 2020

Используя этот запрос SharePoint OData:

https://{{siteUrl}}/_api/web/lists('{{ListGuid}}')/items?$top=10&$select=Title,CartNum

В моих результатах я получаю следующее:

{
    "d": {
        "results": [
            {
                "__metadata": {
                    "id": "32165487-6548-6548-6548-32165498765432",
                    "uri": "<edited>/_api/Web/Lists(guid'12345678-1234-1234-1234-123456789abc')/Items(1)",
                    "etag": "\"183\"",
                    "type": "SP.Data.JobsItem"
                },
                "Title": "SomeCart",
                "CartNum": "11047975"
            }
        }
    }
}

Но если я добавлю параметр $filter:

https://{{siteUrl}}/_api/web/lists('{{ListGuid}}')/items?$top=10&$select=Title,CartNum&$filter=CartNum endswith '11047975'

Я получаю это:

{
    "error": {
        "code": "-1, Microsoft.SharePoint.Client.InvalidClientQueryException",
        "message": {
            "lang": "en-US",
            "value": "The expression \"CartNum endswith '11047975'\" is not valid."
        }
    }
}

Если я изменяю его на:

https://{{siteUrl}}/_api/web/lists('{{ListGuid}}')/items?$top=10&$select=Title,CartNum&$filter=CartNum eq '11047975'

Я получаю это:

{
    "error": {
        "code": "-2147024860, Microsoft.SharePoint.SPQueryThrottledException",
        "message": {
            "lang": "en-US",
            "value": "The attempted operation is prohibited because it exceeds the list view threshold enforced by the administrator."
        }
    }
}

Что я делаю не так ?

Я использую эти MS do c и эти OData do c в качестве ссылки для $filter, в которой четко указано:

Operator    Description Example
Logical Operators
Eq  Equal   /Suppliers?$filter=Address/City eq 'Redmond'

1 Ответ

0 голосов
/ 06 апреля 2020

Не заканчивается на основании официальной документации.

enter image description here

Если в вашем списке более 5000 элементов, вы не можете фильтровать элементы на основе не- индексированный столбец в качестве ограничения газа в SharePoint, необходимо добавить столбец как индексированный, чтобы можно было фильтровать по нему.

https://collab365.community/working-with-large-lists/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...