Работа со списками и элементами списков с использованием REST
Совет
Служба REST в SharePoint Online (а также локальной среде SharePoint 2016 или более поздней версии) поддерживает объединение нескольких запросов в один вызов службы с помощью параметра запроса OData $batch
. Подробные сведения и ссылки на примеры кода см. в статье Отправка пакетных запросов с помощью интерфейсов REST API.
Предварительные требования
В этой статье предполагается, что вы уже ознакомились со статьями Знакомство со службой REST для SharePoint и Выполнение базовых операций с использованием конечных точек REST в SharePoint. Здесь не представлены фрагменты кода.
Получение списков и свойств списков с помощью REST
В приведенном ниже примере показано, как получить определенный список, если вам известен его GUID.
GET https://{site_url}/_api/web/lists(guid'{list_guid}')
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Примечание.
Если вы хотите получить отклик в формате JSON, укажите application/json;odata=verbose
в заголовке Accept
.
Если вы хотите получить отклик в формате Atom, укажите application/atom+xml
в заголовке Accept
.
В приведенном ниже примере показано, как получить определенный список, если вы знаете его название.
GET https://{site_url}/_api/web/lists/GetByTitle('List Title')
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Ниже показан пример свойств списка, которые возвращаются при запросе типа контента XML.
<content type="application/xml">
<m:properties>
<d:AllowContentTypes m:type="Edm.Boolean">true</d:AllowContentTypes>
<d:BaseTemplate m:type="Edm.Int32">100</d:BaseTemplate>
<d:BaseType m:type="Edm.Int32">0</d:BaseType>
<d:ContentTypesEnabled m:type="Edm.Boolean">false</d:ContentTypesEnabled>
<d:Created m:type="Edm.DateTime">2012-06-26T23:15:58Z</d:Created>
<d:DefaultContentApprovalWorkflowId m:type="Edm.Guid">00000000-0000-0000-0000-000000000000</d:DefaultContentApprovalWorkflowId>
<d:Description>A list created by Project Based Retention used to store Project Policy Items.</d:Description>
<d:Direction>none</d:Direction>
<d:DocumentTemplateUrl m:null="true" />
<d:DraftVersionVisibility m:type="Edm.Int32">0</d:DraftVersionVisibility>
<d:EnableAttachments m:type="Edm.Boolean">true</d:EnableAttachments>
<d:EnableFolderCreation m:type="Edm.Boolean">false</d:EnableFolderCreation>
<d:EnableMinorVersions m:type="Edm.Boolean">false</d:EnableMinorVersions>
<d:EnableModeration m:type="Edm.Boolean">false</d:EnableModeration>
<d:EnableVersioning m:type="Edm.Boolean">false</d:EnableVersioning>
<d:EntityTypeName>ProjectPolicyItemList</d:EntityTypeName>
<d:ForceCheckout m:type="Edm.Boolean">false</d:ForceCheckout>
<d:HasExternalDataSource m:type="Edm.Boolean">false</d:HasExternalDataSource>
<d:Hidden m:type="Edm.Boolean">true</d:Hidden>
<d:Id m:type="Edm.Guid">74de3ff3-029c-42f9-bd2a-1e9463def69d</d:Id>
<d:ImageUrl>/_layouts/15/images/itgen.gif</d:ImageUrl>
<d:IrmEnabled m:type="Edm.Boolean">false</d:IrmEnabled>
<d:IrmExpire m:type="Edm.Boolean">false</d:IrmExpire>
<d:IrmReject m:type="Edm.Boolean">false</d:IrmReject>
<d:IsApplicationList m:type="Edm.Boolean">false</d:IsApplicationList>
<d:IsCatalog m:type="Edm.Boolean">false</d:IsCatalog>
<d:IsPrivate m:type="Edm.Boolean">false</d:IsPrivate>
<d:ItemCount m:type="Edm.Int32">0</d:ItemCount>
<d:LastItemDeletedDate m:type="Edm.DateTime">2012-06-26T23:15:58Z</d:LastItemDeletedDate>
<d:LastItemModifiedDate m:type="Edm.DateTime">2012-06-26T23:15:59Z</d:LastItemModifiedDate>
<d:ListItemEntityTypeFullName>SP.Data.ProjectPolicyItemListItem</d:ListItemEntityTypeFullName>
<d:MultipleDataList m:type="Edm.Boolean">false</d:MultipleDataList>
<d:NoCrawl m:type="Edm.Boolean">true</d:NoCrawl>
<d:ParentWebUrl>/</d:ParentWebUrl>
<d:ServerTemplateCanCreateFolders m:type="Edm.Boolean">true</d:ServerTemplateCanCreateFolders>
<d:TemplateFeatureId m:type="Edm.Guid">00bfea71-de22-43b2-a848-c05709900100</d:TemplateFeatureId>
<d:Title>Project Policy Item List</d:Title>
</m:properties>
</content>
Примечание.
Свойство ListItemEntityTypeFullName (SP.Data.ProjectPolicyItemListItem в предыдущем примере) особенно важно при создании и обновлении элементов списка. Это значение должно быть передано как свойство type в метаданные, которые вы передаете в тексте HTTP-запроса всякий раз при создании и обновлении элементов списка.
Работа со списками с помощью REST
В приведенном ниже примере показано, как создать список.
POST https://{site_url}/_api/web/lists
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Content-Type: "application/json"
Content-Length: {length of request body as integer}
X-RequestDigest: "{form_digest_value}"
{
"__metadata": {
"type": "SP.List"
},
"AllowContentTypes": true,
"BaseTemplate": 100,
"ContentTypesEnabled": true,
"Description": "My list description",
"Title": "Test"
}
В приведенном ниже примере показано, как обновить список, используя метод MERGE.
POST https://{site_url}/_api/web/lists(guid'{list_guid}')
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Content-Type: "application/json"
Content-Length: {length of request body as integer}
If-Match: "{etag or *}"
X-HTTP-Method: "MERGE"
X-RequestDigest: "{form_digest_value}"
{
"__metadata": {
"type": "SP.List"
},
"Title": "New title"
}
В приведенном ниже примере показано, как создать настраиваемое поле для списка.
POST https://{site_url}/_api/web/lists(guid'{list_guid}')/Fields
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Content-Type: "application/json"
Content-Length: {length of request body as integer}
X-RequestDigest: "{form_digest_value}"
{
"__metadata": {
"type": "SP.Field"
},
"Title": "field title",
"FieldTypeKind": FieldType value,
"Required": "true/false",
"EnforceUniqueValues": "true/false",
"StaticName": "field name"
}
В приведенном ниже примере показано, как удалить список.
POST https://{site_url}/_api/web/lists(guid'{list_guid}')
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
If-Match: "{etag or *}"
X-HTTP-Method: "DELETE"
X-RequestDigest: "{form_digest_value}"
Изменения столбца подстановок
При указании столбца подстановки внутри списка с помощью REST API используйте отображаемое имя столбца подстановки вместо внутреннего имени.
GET https://{site_url}/_api/web/lists/getbytitle('ListName')/Items?&$filter=LookupColumnId eq 1
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Работа с элементами списка с помощью REST
Получение всех элементов списка
В приведенном ниже примере показано, как получить все элементы списка.
Примечание.
- Параметр запроса
$skip
OData не работает при запросе элементов списка. Во многих случаях вместо него можно использовать параметр $skiptoken. - По умолчанию будут возвращены первые 100 элементов. Дополнительные сведения об управлении количеством элементов, разбиением на страницы и прочем см. в документации об операциях с запросами OData
GET https://{site_url}/_api/web/lists/GetByTitle('Test')/items
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Получение определенного элемента списка
В приведенном ниже примере показано, как получить определенный элемент списка.
GET https://{site_url}/_api/web/lists/GetByTitle('Test')/items({item_id})
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Ниже показан пример свойств элементов списка, которые возвращаются при запросе типа контента XML.
<content type="application/xml">
<m:properties>
<d:FileSystemObjectType m:type="Edm.Int32">0</d:FileSystemObjectType>
<d:Id m:type="Edm.Int32">1</d:Id>
<d:ID m:type="Edm.Int32">1</d:ID>
<d:ContentTypeId>0x010049564F321A0F0543BA8C6303316C8C0F</d:ContentTypeId>
<d:Title>an item</d:Title>
<d:Modified m:type="Edm.DateTime">2012-07-24T22:47:26Z</d:Modified>
<d:Created m:type="Edm.DateTime">2012-07-24T22:47:26Z</d:Created>
<d:AuthorId m:type="Edm.Int32">11</d:AuthorId>
<d:EditorId m:type="Edm.Int32">11</d:EditorId>
<d:OData__UIVersionString>1.0</d:OData__UIVersionString>
<d:Attachments m:type="Edm.Boolean">false</d:Attachments>
<d:GUID m:type="Edm.Guid">eb6850c5-9a30-4636-b282-234eda8b1057</d:GUID>
</m:properties>
</content>
Получение элементов в виде потока
Извлекает сведения о списке и его данных. С помощью этого API можно получить элементы списка, если они используют сложные поля, например количество просмотров или управляемые метаданные.
POST https://{site_url}/_api/web/GetList(@listUrl)/RenderListDataAsStream?@listUrl=%27%2Fsites%2Fteam-a%2Flists%2FList%27
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=nometadata"
Content-Type: "application/json;odata=nometadata"
{
"parameters": {
"AddRequiredFields": "true",
"DatesInUtc": "true",
"RenderOptions": 17
}
}
Параметры URI RenderListDataAsStream
Следующие свойства можно добавлять в качестве параметров строки запроса для операций с возвращаемыми данными.
Свойство | Описание | Тип | Пример |
---|---|---|---|
CascDelWarnMessage |
Указывает, должно ли отображаться сообщение при наличии предупреждения о каскадном удалении | number | 1 |
DrillDown |
Указывает, что в сгруппированном представлении некоторые группы развернуты. Используется вместе с GroupString . |
string | |
GroupString |
Идентификатор группы, используемый для функции детализации. | string | |
HasOverrideSelectCommand |
Позволяет убедиться в наличии определенных полей, необходимых для правильной работы элементов управления SharePoint ListView. | строка | |
Field |
Указывает специальное поле, которое следует включить. | строка | |
FieldInternalName |
Используется для выявления поля, когда список содержит внешний источник данных. Также используется при фильтрации для настраиваемого поля. | строка | |
Filter |
Указывает, следует ли применять фильтр для запрошенного представления. | строка | |
FilterData |
Данные, задаваемые определенным фильтром. | строка | |
FilterData1 |
Данные, задаваемые определенным фильтром. | строка | |
FilterData2 |
Данные, задаваемые определенным фильтром. | строка | |
FilterData3 |
Данные, задаваемые определенным фильтром. | строка | |
FilterData4 |
Данные, задаваемые определенным фильтром. | строка | |
FilterData5 |
Данные, задаваемые определенным фильтром. | строка | |
FilterData6 |
Данные, задаваемые определенным фильтром. | строка | |
FilterData7 |
Данные, задаваемые определенным фильтром. | строка | |
FilterData8 |
Данные, задаваемые определенным фильтром. | строка | |
FilterData9 |
Данные, задаваемые определенным фильтром. | строка | |
FilterData10 |
Данные, задаваемые определенным фильтром. | строка | |
FilterField |
Имя поля фильтра для определенного фильтра, который применяется к представлению. | строка | |
FilterField1 |
Имя поля фильтра для определенного фильтра, который применяется к представлению. | строка | ID |
FilterField2 |
Имя поля фильтра для определенного фильтра, который применяется к представлению. | строка | ID |
FilterField3 |
Имя поля фильтра для определенного фильтра, который применяется к представлению. | строка | ID |
FilterField4 |
Имя поля фильтра для определенного фильтра, который применяется к представлению. | строка | ID |
FilterField5 |
Имя поля фильтра для определенного фильтра, который применяется к представлению. | строка | ID |
FilterField6 |
Имя поля фильтра для определенного фильтра, который применяется к представлению. | строка | ID |
FilterField7 |
Имя поля фильтра для определенного фильтра, который применяется к представлению. | строка | ID |
FilterField8 |
Имя поля фильтра для определенного фильтра, который применяется к представлению. | строка | ID |
FilterField9 |
Имя поля фильтра для определенного фильтра, который применяется к представлению. | строка | ID |
FilterField10 |
Имя поля фильтра для определенного фильтра, который применяется к представлению. | строка | ID |
FilterFields |
Определяет несколько полей, которые будут фильтроваться множественным фильтром. | строка | |
FilterFields1 |
Определяет несколько полей, которые будут фильтроваться множественным фильтром. | строка | |
FilterFields2 |
Определяет несколько полей, которые будут фильтроваться множественным фильтром. | строка | |
FilterFields3 |
Определяет несколько полей, которые будут фильтроваться множественным фильтром. | строка | |
FilterFields4 |
Определяет несколько полей, которые будут фильтроваться множественным фильтром. | строка | |
FilterFields5 |
Определяет несколько полей, которые будут фильтроваться множественным фильтром. | строка | |
FilterFields6 |
Определяет несколько полей, которые будут фильтроваться множественным фильтром. | строка | |
FilterFields7 |
Определяет несколько полей, которые будут фильтроваться множественным фильтром. | строка | |
FilterFields8 |
Определяет несколько полей, которые будут фильтроваться множественным фильтром. | строка | |
FilterFields9 |
Определяет несколько полей, которые будут фильтроваться множественным фильтром. | строка | |
FilterFields10 |
Определяет несколько полей, которые будут фильтроваться множественным фильтром. | строка | |
FilterValue |
Значение фильтра, связанное с определенным фильтром. Пример: FilterField3 соотносится с FilterValue3 и т. д. | string | |
FilterValue1 |
Значение фильтра, связанное с определенным фильтром. Пример: FilterField3 соотносится с FilterValue3 и т. д. | string | 1 |
FilterValue2 |
Значение фильтра, связанное с определенным фильтром. Пример: FilterField3 соотносится с FilterValue3 и т. д. | string | 1 |
FilterValue3 |
Значение фильтра, связанное с определенным фильтром. Пример: FilterField3 соотносится с FilterValue3 и т. д. | string | 1 |
FilterValue4 |
Значение фильтра, связанное с определенным фильтром. Пример: FilterField3 соотносится с FilterValue3 и т. д. | string | 1 |
FilterValue5 |
Значение фильтра, связанное с определенным фильтром. Пример: FilterField3 соотносится с FilterValue3 и т. д. | string | 1 |
FilterValue6 |
Значение фильтра, связанное с определенным фильтром. Пример: FilterField3 соотносится с FilterValue3 и т. д. | string | 1 |
FilterValue7 |
Значение фильтра, связанное с определенным фильтром. Пример: FilterField3 соотносится с FilterValue3 и т. д. | string | 1 |
FilterValue8 |
Значение фильтра, связанное с определенным фильтром. Пример: FilterField3 соотносится с FilterValue3 и т. д. | string | 1 |
FilterValue9 |
Значение фильтра, связанное с определенным фильтром. Пример: FilterField3 соотносится с FilterValue3 и т. д. | string | 1 |
FilterValue10 |
Значение фильтра, связанное с определенным фильтром. Пример: FilterField3 соотносится с FilterValue3 и т. д. | string | 1 |
FilterValues |
Используется с FilterFields для множественного фильтра. Пример: FilterFields3 соотносится с FilterValues3 и т. д. | string | |
FilterValues1 |
Используется с FilterFields для множественного фильтра. Пример: FilterFields3 соотносится с FilterValues3 и т. д. | string | |
FilterValues2 |
Используется с FilterFields для множественного фильтра. Пример: FilterFields3 соотносится с FilterValues3 и т. д. | string | |
FilterValues3 |
Используется с FilterFields для множественного фильтра. Пример: FilterFields3 соотносится с FilterValues3 и т. д. | string | |
FilterValues4 |
Используется с FilterFields для множественного фильтра. Пример: FilterFields3 соотносится с FilterValues3 и т. д. | string | |
FilterValues5 |
Используется с FilterFields для множественного фильтра. Пример: FilterFields3 соотносится с FilterValues3 и т. д. | string | |
FilterValues6 |
Используется с FilterFields для множественного фильтра. Пример: FilterFields3 соотносится с FilterValues3 и т. д. | string | |
FilterValues7 |
Используется с FilterFields для множественного фильтра. Пример: FilterFields3 соотносится с FilterValues3 и т. д. | string | |
FilterValues8 |
Используется с FilterFields для множественного фильтра. Пример: FilterFields3 соотносится с FilterValues3 и т. д. | string | |
FilterValues9 |
Используется с FilterFields для множественного фильтра. Пример: FilterFields3 соотносится с FilterValues3 и т. д. | string | |
FilterValues10 |
Используется с FilterFields для множественного фильтра. Пример: FilterFields3 соотносится с FilterValues3 и т. д. | string | |
FilterLookupId |
Используется при фильтрации для поля подстановки. Это идентификатор элемента во внешнем списке, содержащий значение, по которому выполняется фильтрация. | строка | |
FilterLookupId1 |
Используется при фильтрации для поля подстановки. Это идентификатор элемента во внешнем списке, содержащий значение, по которому выполняется фильтрация. | строка | |
FilterLookupId2 |
Используется при фильтрации для поля подстановки. Это идентификатор элемента во внешнем списке, содержащий значение, по которому выполняется фильтрация. | строка | |
FilterLookupId3 |
Используется при фильтрации для поля подстановки. Это идентификатор элемента во внешнем списке, содержащий значение, по которому выполняется фильтрация. | строка | |
FilterLookupId4 |
Используется при фильтрации для поля подстановки. Это идентификатор элемента во внешнем списке, содержащий значение, по которому выполняется фильтрация. | строка | |
FilterLookupId5 |
Используется при фильтрации для поля подстановки. Это идентификатор элемента во внешнем списке, содержащий значение, по которому выполняется фильтрация. | строка | |
FilterLookupId6 |
Используется при фильтрации для поля подстановки. Это идентификатор элемента во внешнем списке, содержащий значение, по которому выполняется фильтрация. | строка | |
FilterLookupId7 |
Используется при фильтрации для поля подстановки. Это идентификатор элемента во внешнем списке, содержащий значение, по которому выполняется фильтрация. | строка | |
FilterLookupId8 |
Используется при фильтрации для поля подстановки. Это идентификатор элемента во внешнем списке, содержащий значение, по которому выполняется фильтрация. | строка | |
FilterLookupId9 |
Используется при фильтрации для поля подстановки. Это идентификатор элемента во внешнем списке, содержащий значение, по которому выполняется фильтрация. | строка | |
FilterLookupId10 |
Используется при фильтрации для поля подстановки. Это идентификатор элемента во внешнем списке, содержащий значение, по которому выполняется фильтрация. | строка | |
FilterOnly |
string | ||
FilterOp |
Оператор фильтра. Используется при фильтрации с операторами, отличными от Eq (Geq , Leq и т. д.) |
string | Geq |
FilterOp1 |
Оператор фильтра. Используется при фильтрации с операторами, отличными от Eq (Geq , Leq и т. д.) |
string | Geq |
FilterOp2 |
Оператор фильтра. Используется при фильтрации с операторами, отличными от Eq (Geq , Leq и т. д.) |
string | Geq |
FilterOp3 |
Оператор фильтра. Используется при фильтрации с операторами, отличными от Eq (Geq , Leq и т. д.) |
string | Geq |
FilterOp4 |
Оператор фильтра. Используется при фильтрации с операторами, отличными от Eq (Geq , Leq и т. д.) |
string | Geq |
FilterOp5 |
Оператор фильтра. Используется при фильтрации с операторами, отличными от Eq (Geq , Leq и т. д.) |
string | Geq |
FilterOp6 |
Оператор фильтра. Используется при фильтрации с операторами, отличными от Eq (Geq , Leq и т. д.) |
string | Geq |
FilterOp7 |
Оператор фильтра. Используется при фильтрации с операторами, отличными от Eq (Geq , Leq и т. д.) |
string | Geq |
FilterOp8 |
Оператор фильтра. Используется при фильтрации с операторами, отличными от Eq (Geq , Leq и т. д.) |
string | Geq |
FilterOp9 |
Оператор фильтра. Используется при фильтрации с операторами, отличными от Eq (Geq , Leq и т. д.) |
string | Geq |
FilterOp10 |
Оператор фильтра. Используется при фильтрации с операторами, отличными от Eq (Geq , Leq и т. д.) |
string | Geq |
ID |
Идентификатор элемента, сведения о котором являются целью поиска. | число | |
InplaceSearchQuery |
Условие поиска для поиска по полному списку. | string | |
InplaceFullListSearch |
Логическое значение, определяющее, является ли это поиском по полному списку. | string | |
IsCSR |
Указывает, является ли это представление клиентским представлением. | строка | |
CustomAction |
строка | ||
IsGroupRender |
Используется для задания свойства IsGroupRender для SPView. | строка | |
IsRibbon |
строка | ||
IsXslView |
Указывает, является ли это представление представлением списка xslt. | строка | |
List |
string | ||
ListId |
string | ||
ListViewPageUrl |
строка | ||
OverrideScope |
Используется для переопределения области в отображаемом представлении: SPView.Scope | string | |
OverrideSelectCommand |
Используется для подтверждения наличия определенных полей в запросе независимо от того, добавлены ли они явным образом в представление. | string | |
PageFirstRow |
Запрашиваемые сведения о разбиении на страницы для первой строки. Используется для представлений списков с разбивкой на страницы. | строка | |
PageLastRow |
Запрашиваемые сведения о разбиении на страницы для последней строки. Используется для представлений списков с разбивкой на страницы. | строка | |
RootFolder |
Папка, в которой отображается представление. | строка | |
SortField |
Поле, по которому должно быть отсортировано представление. | строка | ID |
SortField1 |
Поле, по которому должно быть отсортировано представление. | строка | ID |
SortField2 |
Поле, по которому должно быть отсортировано представление. | строка | ID |
SortField3 |
Поле, по которому должно быть отсортировано представление. | строка | ID |
SortField4 |
Поле, по которому должно быть отсортировано представление. | строка | ID |
SortField5 |
Поле, по которому должно быть отсортировано представление. | строка | ID |
SortField6 |
Поле, по которому должно быть отсортировано представление. | строка | ID |
SortField7 |
Поле, по которому должно быть отсортировано представление. | строка | ID |
SortField8 |
Поле, по которому должно быть отсортировано представление. | строка | ID |
SortField9 |
Поле, по которому должно быть отсортировано представление. | строка | ID |
SortField10 |
Поле, по которому должно быть отсортировано представление. | строка | ID |
SortFields |
Задает имя первого поля для выполнения сортировки | строка | |
SortFieldValues |
Задает имя первого поля для выполнения сортировки | строка | |
SortDir |
Направление специальной сортировки, применяемой для представления. | строка | Desc |
SortDir1 |
Направление специальной сортировки, применяемой для представления. | строка | Desc |
SortDir2 |
Направление специальной сортировки, применяемой для представления. | строка | Desc |
SortDir3 |
Направление специальной сортировки, применяемой для представления. | строка | Desc |
SortDir4 |
Направление специальной сортировки, применяемой для представления. | строка | Desc |
SortDir5 |
Направление специальной сортировки, применяемой для представления. | строка | Desc |
SortDir6 |
Направление специальной сортировки, применяемой для представления. | строка | Desc |
SortDir7 |
Направление специальной сортировки, применяемой для представления. | строка | Desc |
SortDir8 |
Направление специальной сортировки, применяемой для представления. | строка | Desc |
SortDir9 |
Направление специальной сортировки, применяемой для представления. | строка | Desc |
SortDir10 |
Направление специальной сортировки, применяемой для представления. | строка | Desc |
View |
Определяет базовое представление, которое будет использоваться для отображения списка. | Идентификатор GUID | 3d13559e-3071-5000-76b8-8f1ca6b835f0 |
ViewPath |
Определяет путь представления, который будет использоваться для отображения списка. Если присвоен ViewId , то будет применяться ViewId , и этот параметр будет игнорироваться. |
string | |
ViewCount |
Если на странице несколько представлений списков, то этот параметр указывает один из них. | строка | |
ViewId |
Определяет базовое представление, которое будет использоваться для отображения списка. специальные параметры будут применены в верхней части этого представления. Если присвоены ViewXml и BaseViewId , то будет применяться ViewXml , и специальные параметры будут игнорироваться. |
string | |
WebPartId |
Идентификатор веб-части представления списка, отображающей это представление. | string |
Свойства параметра текста RenderListDataAsStream
Свойство | Описание | Тип | Пример |
---|---|---|---|
AddRequiredFields |
Указывает, должны ли быть возвращены требуемые поля | логический | true |
AllowMultipleValueFilterForTaxonomyFields |
Указывает, допустима ли фильтрация по нескольким значениям для полей таксономии | логический | true |
DatesInUtc |
Указывает, возвращается ли поле даты и времени в формате UTC или по местному часовому поясу. | логический | true |
ExpandGroups |
Указывает, должна ли быть группировка развернута или нет. | логический | true |
FirstGroupOnly |
Указывает, только ли первая группа должна быть возвращена (независимо от схемы представления). | логический | true |
FolderServerRelativeUrl |
Задает URL-адрес для папки, из которой требуется возвратить элементы. | строка | /sites/team-a/lists/Orders/Europe |
ImageFieldsToTryRewriteToCdnUrls |
Разделенный запятыми список имен полей, значения которых следует переписать в URL-адреса CDN | строка | ArticleImage,SecondaryImage |
OverrideViewXml |
Указывает переопределение XML в сочетании с представлением CAML. Применяется только к части Query/Where представления CAML. |
строка | <Query><Where><Gt><FieldRef Name=\"OrderCount\" /><Value Type=\"Number\">3</Value></Gt></Where></Query> |
Paging |
Задает сведения о разбиении на страницы. | строка | |
RenderOptions |
Задает тип возвращаемых выходных данных. | SPRenderListDataOptions | См. возможные значения в следующем разделе. Можно указать несколько значений, добавив их значения вместе |
ReplaceGroup |
Указывает, нужно ли заменить группировку, чтобы учесть регулирование GroupBy. | логический | true |
ViewXml |
Задает XML представления CAML. | string |
SPRenderListDataOptions
Метка | Описание | Значение |
---|---|---|
None |
Возвращает стандартные выходные данные | 0 |
ContextInfo |
Возвращает сведения о контексте списка | 1 |
ListData |
Возвращает данные списка (то же, что None ) |
2 |
ListSchema |
Возвращает схему списка | 4 |
MenuView |
Возвращает HTML для меню списка | 8 |
ListContentType |
Возвращает сведения о типах контента списка. Должен применяться в сочетании с флажком ContextInfo |
16 |
FileSystemItemId |
Возвращаемый список будет по возможности содержать поле FileSystemItemId для каждого элемента. Должен применяться в сочетании с флажком ListData |
32 |
ClientFormSchema |
Возвращает схему формы клиента, чтобы добавлять и изменять элементы | 64 |
QuickLaunch |
Возвращает узлы навигации QuickLaunch. | 128 |
Spotlight |
Возвращает данные обработки Spotlight. | 256 |
Visualization |
Возвращает данные обработки Visualization. | 512 |
ViewMetadata |
Возвращает XML представления и другие сведения о текущем представлении. | 1024 |
DisableAutoHyperlink |
Предотвращает срабатывание функции AutoHyperlink на текстовые поля в этом запросе. | 2048 |
EnableMediaTAUrls |
Разрешает URL-адреса, указывающие на службу Media TA, например .thumbnailUrl , .videoManifestUrl , .pdfConversionUrls |
4096 |
ParentInfo |
Возвращает сведения о родительской папке. | 8192 |
PageContextInfo |
Возвращает контекстные сведения о странице для текущего обрабатываемого списка. | 16384 |
ClientSideComponentManifest |
Возвращает сведения манифеста клиентского компонента, связанного со списком. | 32768 |
Примеры
Извлечение элемента с определенным идентификатором
POST https://{site_url}/sites/team-a/_api/web/GetList(@listUrl)/RenderListDataAsStream?@listUrl=%27%2Fsites%2Fteam-a%2Flists%2FList%27&FilterField1=ID&FilterValue1=1
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=nometadata"
...
Сортировка элементов по убыванию по идентификаторам
POST https://{site_url}/sites/team-a/_api/web/GetList(@listUrl)/RenderListDataAsStream?@listUrl=%27%2Fsites%2Fteam-a%2Flists%2FList%27&SortField=ID&SortDir=Desc
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=nometadata"
...
Получение элементов из указанной папки
POST https://{site_url}/sites/team-a/_api/web/GetList(@listUrl)/RenderListDataAsStream?@listUrl=%27%2Fsites%2Fteam-a%2Flists%2FOrders%27
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=nometadata"
Content-Type: "application/json"
{
"parameters": {
"FolderServerRelativeUrl": "/sites/team-a/lists/Orders/Europe"
}
}
Получение схемы списка
POST https://{site_url}/sites/team-a/_api/web/GetList(@listUrl)/RenderListDataAsStream?@listUrl=%27%2Fsites%2Fteam-a%2Flists%2FList%27
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=nometadata"
Content-Type: "application/json"
{
"parameters": {
"RenderOptions": 4
}
}
Получение сведений о типах контента списка
POST https://{site_url}/sites/team-a/_api/web/GetList(@listUrl)/RenderListDataAsStream?@listUrl=%27%2Fsites%2Fteam-a%2Flists%2FList%27
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=nometadata"
Content-Type: "application/json"
{
"parameters": {
"RenderOptions": 17
}
}
Создание элемента списка
В приведенном ниже примере показано, как создать элемент списка.
Примечание.
Для выполнения этой операции вам необходимо знать свойство ListItemEntityTypeFullName списка и передать его как значение type в тексте запроса HTTP. Ниже представлен пример вызова REST для получения свойства ListItemEntityTypeFullName
GET https://{site_url}/_api/web/lists/GetByTitle('Test')?$select=ListItemEntityTypeFullName
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=nometadata"
POST https://{site_url}/_api/web/lists/GetByTitle('Test')/items
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Content-Type: "application/json;odata=verbose"
Content-Length: {length of request body as integer}
X-RequestDigest: "{form_digest_value}"
{
"__metadata": {
"type": "SP.Data.TestListItem"
},
"Title": "Test"
}
Создание элемента списка в папке
В приведенном ниже примере показано, как создать элемент списка в папке.
POST https://{site_url}/_api/web/lists/GetByTitle('Test')/AddValidateUpdateItemUsingPath
Authorization: "Bearer " + accessToken
Accept "application/json;odata=nometadata"
Content-Type "application/json;odata=nometadata"
X-RequestDigest "The appropriate digest for current site"
{
"listItemCreateInfo": {
"FolderPath": {
"DecodedUrl": "https://{site_url}/lists/Test/Folder/SubFolder"
},
"UnderlyingObjectType": 0
},
"formValues": [
{
"FieldName": "Title",
"FieldValue": "Item"
}
],
"bNewDocumentUpdate": false
}
Информация о свойствах запроса
Свойство | Описание |
---|---|
listItemCreateInfo |
Информация о списке и папке, где необходимо создать элемент |
listItemCreateInfo.FolderPath.DecodedUrl |
Абсолютный URL-адрес папки, где необходимо создать элемент |
listItemCreateInfo.UnderlyingObjectType |
Тип элемента, который необходимо создать. Подробнее см. раздел FileSystemObjectType |
formValues |
Массив имен полей и значений, которые необходимо присвоить новому элементу |
bNewDocumentUpdate |
Установите значение false , чтобы создать элемент списка |
Ответы
Имя | Тип | Описание |
---|---|---|
200 OK | Boolean | Успешно |
{
"value": [
{
"ErrorMessage": null,
"FieldName": "Title",
"FieldValue": "Item",
"HasException": false,
"ItemId": 0
},
{
"ErrorMessage": null,
"FieldName": "Id",
"FieldValue": "1",
"HasException": false,
"ItemId": 0
}
]
}
Свойство value
содержит список свойств, заданных при создании элемента списка.
Обновление элемента списка
В приведенном ниже примере показано, как обновить элемент списка.
Примечание.
Для выполнения этой операции вам необходимо знать свойство ListItemEntityTypeFullName списка и передать его как значение type в тексте запроса HTTP.
POST https://{site_url}/_api/web/lists/GetByTitle('Test')/items({item_id})
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Content-Type: "application/json"
Content-Length: {length of request body as integer}
If-Match: "{etag or *}"
X-HTTP-Method: "MERGE"
X-RequestDigest: "{form_digest_value}"
{
"__metadata": {
"type": "SP.Data.TestListItem"
},
"Title": "TestUpdated"
}
Удаление элемента списка
В приведенном ниже примере показано, как удалить элемент списка.
POST https://{site_url}/_api/web/lists/GetByTitle('Test')/items({item_id})
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"
Content-Type: "application/json"
If-Match: "{etag or *}"
X-HTTP-Method: "DELETE"
Использование значений ETag для определения версий документов и элементов списков
Служба SharePoint REST, работающая по стандарту OData, использует значения заголовка ETag списков SharePoint и их элементов. Чтобы проверить версию элемента при выполнении запроса PUT, MERGE или DELETE, укажите значение ETag в заголовке HTTP-запроса If-Match.
Если ETag, который вы указываете в вашем запросе, не соответствует ETag документа или элемента списка на сервере, служба REST возвращает ошибку 412 в соответствии со спецификацией OData.
- Чтобы принудительно переписать элемент независимо от версии, задайте ETag значение "*".
- Если не указать ETag, SharePoint переписывает элемент независимо от версии.
В SharePoint значения ETag применяются только к спискам SharePoint и элементам списков.
См. также
- Знакомство со службой REST в SharePoint
- SharePoint-Add-in-REST-OData-BasicDataOperations
- SharePoint: выполнение основных операций доступа к данным в файлах и папках с помощью REST
- Безопасный доступ к данным и клиентские объектные модели для надстроек SharePoint
- Работа с внешними данными в SharePoint
- Материалы по OData
- Разработка надстроек SharePoint