REST を使用してリストとリスト アイテムを操作する

ヒント

SharePoint Online (およびオンプレミスの SharePoint 2016 以降の) REST サービスは、OData $batch クエリ オプションを使用して、複数の要求を組み合わせて 1 つのサービスへの呼び出しにする処理をサポートしています。詳細とコード サンプルへのリンクについては、「REST API によりバッチ要求を発行する」を参照してください。

前提条件

このトピックでは、読者が「SharePoint REST サービスの概要」および「SharePoint REST エンドポイントを使用して基本的な操作を完了する」の各トピックに既に習熟していることを想定しています。 この記事にはコード スニペットが含まれていません。

REST を使用してリストおよびリスト プロパティを取得する

次の例は、GUID がわかっている場合に特定のリストを取得 する方法を示しています。

GET https://{site_url}/_api/web/lists(guid'{list_guid}')
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"

注意

JSON での応答を望む場合は Accept ヘッダーで application/json;odata=verbose を使用します。

Atom 形式での応答を望む場合は Accept ヘッダーで application/atom+xml を使用します。

次の例は、タイトルがわかっている場合に特定のリストを取得 する方法を示しています。

GET https://{site_url}/_api/web/lists/GetByTitle('List Title')
Authorization: "Bearer " + accessToken
Accept: "application/json;odata=verbose"

次の XML は、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) は、リスト アイテムを作成して更新する場合に特に重要です。この値は、リスト アイテムを作成して更新するたびに HTTP 要求の本文に渡すメタデータの type プロパティとして渡す必要があります。

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 を使用してリスト アイテムを操作する

すべてのリスト アイテムを取得する

次の例は、リストのアイテムをすべて取得する方法を示しています。

注意

  • OData $skip クエリ パラメーターは、リスト アイテムをクエリするときに機能しません。 多くの場合、代わりに $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 は、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>

ストリームとしてアイテムを取得する

リストとそのデータに関する情報を取得します。Lookup や管理されたメタデータなどの複雑なフィールドが使用されている場合は、この 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
  }
}

RenderListDataAsStream URI パラメーター

次のプロパティは、返されるデータを操作するためのクエリ文字列パラメーターとして追加できます。

プロパティ 説明
CascDelWarnMessage 連鎖削除の警告がある場合に、メッセージを表示するかどうかを指定します。 番号 1
DrillDown グループ化されたビューの一部のグループを展開するように指定します。 GroupString と共に使用します。 string
GroupString ドリルダウン機能で使用されるグループ ID です。 string
HasOverrideSelectCommand SharePoint ListView コントロールが正常に動作するように特定のフィールドが存在していることを確認するために使用します。 string
Field 含まれている必要がある特別なフィールドを指定します。 string
FieldInternalName リストに外部データ ソースがある時にフィールドを識別するために使用します。 カスタム フィールドでフィルター処理する場合にも使用されます。 string
Filter 要求されたビューにフィルターを適用するかどうかを指定します。 string
FilterData 特定のフィルターで指定されたデータです。 string
FilterData1 特定のフィルターで指定されたデータです。 string
FilterData2 特定のフィルターで指定されたデータです。 string
FilterData3 特定のフィルターで指定されたデータです。 string
FilterData4 特定のフィルターで指定されたデータです。 string
FilterData5 特定のフィルターで指定されたデータです。 string
FilterData6 特定のフィルターで指定されたデータです。 string
FilterData7 特定のフィルターで指定されたデータです。 string
FilterData8 特定のフィルターで指定されたデータです。 string
FilterData9 特定のフィルターで指定されたデータです。 string
FilterData10 特定のフィルターで指定されたデータです。 string
FilterField ビューに適用されている特定のフィルターのフィルター フィールド名です。 string
FilterField1 ビューに適用されている特定のフィルターのフィルター フィールド名です。 string ID
FilterField2 ビューに適用されている特定のフィルターのフィルター フィールド名です。 string ID
FilterField3 ビューに適用されている特定のフィルターのフィルター フィールド名です。 string ID
FilterField4 ビューに適用されている特定のフィルターのフィルター フィールド名です。 string ID
FilterField5 ビューに適用されている特定のフィルターのフィルター フィールド名です。 string ID
FilterField6 ビューに適用されている特定のフィルターのフィルター フィールド名です。 string ID
FilterField7 ビューに適用されている特定のフィルターのフィルター フィールド名です。 string ID
FilterField8 ビューに適用されている特定のフィルターのフィルター フィールド名です。 string ID
FilterField9 ビューに適用されている特定のフィルターのフィルター フィールド名です。 string ID
FilterField10 ビューに適用されている特定のフィルターのフィルター フィールド名です。 string ID
FilterFields 乗数フィルターでフィルター処理する複数のフィールドを指定します。 string
FilterFields1 乗数フィルターでフィルター処理する複数のフィールドを指定します。 string
FilterFields2 乗数フィルターでフィルター処理する複数のフィールドを指定します。 string
FilterFields3 乗数フィルターでフィルター処理する複数のフィールドを指定します。 string
FilterFields4 乗数フィルターでフィルター処理する複数のフィールドを指定します。 string
FilterFields5 乗数フィルターでフィルター処理する複数のフィールドを指定します。 string
FilterFields6 乗数フィルターでフィルター処理する複数のフィールドを指定します。 string
FilterFields7 乗数フィルターでフィルター処理する複数のフィールドを指定します。 string
FilterFields8 乗数フィルターでフィルター処理する複数のフィールドを指定します。 string
FilterFields9 乗数フィルターでフィルター処理する複数のフィールドを指定します。 string
FilterFields10 乗数フィルターでフィルター処理する複数のフィールドを指定します。 string
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 Lookup フィールドでフィルター処理するときに使用します。フィルター処理する値を含む外部リストのアイテム ID です。 string
FilterLookupId1 Lookup フィールドでフィルター処理するときに使用します。フィルター処理する値を含む外部リストのアイテム ID です。 string
FilterLookupId2 Lookup フィールドでフィルター処理するときに使用します。フィルター処理する値を含む外部リストのアイテム ID です。 string
FilterLookupId3 Lookup フィールドでフィルター処理するときに使用します。フィルター処理する値を含む外部リストのアイテム ID です。 string
FilterLookupId4 Lookup フィールドでフィルター処理するときに使用します。フィルター処理する値を含む外部リストのアイテム ID です。 string
FilterLookupId5 Lookup フィールドでフィルター処理するときに使用します。フィルター処理する値を含む外部リストのアイテム ID です。 string
FilterLookupId6 Lookup フィールドでフィルター処理するときに使用します。フィルター処理する値を含む外部リストのアイテム ID です。 string
FilterLookupId7 Lookup フィールドでフィルター処理するときに使用します。フィルター処理する値を含む外部リストのアイテム ID です。 string
FilterLookupId8 Lookup フィールドでフィルター処理するときに使用します。フィルター処理する値を含む外部リストのアイテム ID です。 string
FilterLookupId9 Lookup フィールドでフィルター処理するときに使用します。フィルター処理する値を含む外部リストのアイテム ID です。 string
FilterLookupId10 Lookup フィールドでフィルター処理するときに使用します。フィルター処理する値を含む外部リストのアイテム ID です。 string
FilterOnly string
FilterOp フィルタ-演算子です。 Eq (GeqLeq など) 以外の、演算子を使用したフィルター処理をするときに使用します。 string Geq
FilterOp1 フィルタ-演算子です。 Eq (GeqLeq など) 以外の、演算子を使用したフィルター処理をするときに使用します。 string Geq
FilterOp2 フィルタ-演算子です。 Eq (GeqLeq など) 以外の、演算子を使用したフィルター処理をするときに使用します。 string Geq
FilterOp3 フィルタ-演算子です。 Eq (GeqLeq など) 以外の、演算子を使用したフィルター処理をするときに使用します。 string Geq
FilterOp4 フィルタ-演算子です。 Eq (GeqLeq など) 以外の、演算子を使用したフィルター処理をするときに使用します。 string Geq
FilterOp5 フィルタ-演算子です。 Eq (GeqLeq など) 以外の、演算子を使用したフィルター処理をするときに使用します。 string Geq
FilterOp6 フィルタ-演算子です。 Eq (GeqLeq など) 以外の、演算子を使用したフィルター処理をするときに使用します。 string Geq
FilterOp7 フィルタ-演算子です。 Eq (GeqLeq など) 以外の、演算子を使用したフィルター処理をするときに使用します。 string Geq
FilterOp8 フィルタ-演算子です。 Eq (GeqLeq など) 以外の、演算子を使用したフィルター処理をするときに使用します。 string Geq
FilterOp9 フィルタ-演算子です。 Eq (GeqLeq など) 以外の、演算子を使用したフィルター処理をするときに使用します。 string Geq
FilterOp10 フィルタ-演算子です。 Eq (GeqLeq など) 以外の、演算子を使用したフィルター処理をするときに使用します。 string Geq
ID 情報を検索するアイテムのアイテム ID です。 number
InplaceSearchQuery 全リスト検索用の語句です。 string
InplaceFullListSearch 全リスト検索があるかどうかを指定するブール値です。 string
IsCSR このビューが、クライアント側でレンダリングされたビューかどうかを指定します。 string
CustomAction string
IsGroupRender SPView の IsGroupRender プロパティを設定するために使用します。 string
IsRibbon string
IsXslView このビューが XSLT リスト ビューかどうかを指定します。 string
List string
ListId string
ListViewPageUrl string
OverrideScope レンダリングされたビューのスコープを上書きするために使用します: SPView.Scope string
OverrideSelectCommand ビューで明示的に含まれているかどうかに関係なく、クエリに特定のフィールドが存在していることを確認するために使用します。 string
PageFirstRow 要求する最初の行のページング情報です。 リスト ビューのページングのために使用します。 string
PageLastRow 要求する最後の行のページング情報です。 リスト ビューのページングのために使用します。 string
RootFolder ビューが表示しているフォルダーです。 string
SortField ビューで並べ替えるべきフィールドです。 string ID
SortField1 ビューで並べ替えるべきフィールドです。 string ID
SortField2 ビューで並べ替えるべきフィールドです。 string ID
SortField3 ビューで並べ替えるべきフィールドです。 string ID
SortField4 ビューで並べ替えるべきフィールドです。 string ID
SortField5 ビューで並べ替えるべきフィールドです。 string ID
SortField6 ビューで並べ替えるべきフィールドです。 string ID
SortField7 ビューで並べ替えるべきフィールドです。 string ID
SortField8 ビューで並べ替えるべきフィールドです。 string ID
SortField9 ビューで並べ替えるべきフィールドです。 string ID
SortField10 ビューで並べ替えるべきフィールドです。 string ID
SortFields 最初に並べ替えるフィールドの名前を指定します。 string
SortFieldValues 最初に並べ替えるフィールドの名前を指定します。 string
SortDir ビューに適用するアドホック並べ替えの方向です。 string Desc
SortDir1 ビューに適用するアドホック並べ替えの方向です。 string Desc
SortDir2 ビューに適用するアドホック並べ替えの方向です。 string Desc
SortDir3 ビューに適用するアドホック並べ替えの方向です。 string Desc
SortDir4 ビューに適用するアドホック並べ替えの方向です。 string Desc
SortDir5 ビューに適用するアドホック並べ替えの方向です。 string Desc
SortDir6 ビューに適用するアドホック並べ替えの方向です。 string Desc
SortDir7 ビューに適用するアドホック並べ替えの方向です。 string Desc
SortDir8 ビューに適用するアドホック並べ替えの方向です。 string Desc
SortDir9 ビューに適用するアドホック並べ替えの方向です。 string Desc
SortDir10 ビューに適用するアドホック並べ替えの方向です。 string Desc
View リストを表示するときに使用するベース ビューを指定します。 GUID 3d13559e-3071-5000-76b8-8f1ca6b835f0
ViewPath リストを表示するときに使用するビューのパスを指定します。 ViewId を指定した場合は ViewId が使用され、このパラメーターは無視されます。 string
ViewCount 複数のリスト ビューがページにある場合、それらのいずれかを識別します。 string
ViewId リストを表示するときに使用するベース ビューを指定します。 アドホック パラメーターが、このビューの上に適用されます。 ViewXml および BaseViewId を指定した場合は ViewXml が使用され、アドホック パラメーターは無視されます。 string
WebPartId このビューを表示しているリスト ビュー Web パーツの ID です。 string

RenderListDataAsStream 本文パラメーター プロパティ

プロパティ 説明
AddRequiredFields 必要なフィールドが返されるべきかどうかを指定します。 bool true
AllowMultipleValueFilterForTaxonomyFields 分類フィールドの複数値のフィルター処理が許可されているかどうかを指定します。 bool true
DatesInUtc DateTime フィールドを UTC と現地時刻のどちらで返すかを指定します。 bool true
ExpandGroups グループを展開するかどうかを指定します。 bool true
FirstGroupOnly ビュー スキーマに関係なく、最初のグループだけを返すかどうかを指定します。 bool true
FolderServerRelativeUrl アイテムを返すフォルダーへの URL を指定します。 string /sites/team-a/lists/Orders/Europe
ImageFieldsToTryRewriteToCdnUrls CDN の URL に値を書き直す必要があるフィールド名のコンマ区切りリストです。 string ArticleImage,SecondaryImage
OverrideViewXml ビュー CAML と共に使用する上書き XML を指定します。 ビュー CAML の Query/Where パーツのみに適用されます。 string <Query><Where><Gt><FieldRef Name=\"OrderCount\" /><Value Type=\"Number\">3</Value></Gt></Where></Query>
Paging ページング情報を指定します。 string
RenderOptions 返される出力の種類を指定します。 SPRenderListDataOptions 使用可能な値については、次のセクションを参照してください。 値を加算することで複数の値を指定することができます。
ReplaceGroup GroupBy 調整のために、グループ化を置き換えるべきかどうかを指定します。 bool true
ViewXml CAML ビュー XML を指定します。 string
SPRenderListDataOptions options
Label 説明
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 .thumbnailUrl.videoManifestUrl.pdfConversionUrls などのメディア TA サービスを指す URL を有効にする 4096
ParentInfo 親フォルダーの情報を返す 8192
PageContextInfo 表示されている現在のリストのページ コンテキスト情報を返す 16384
ClientSideComponentManifest リストに関連付けられているクライアント側のコンポーネント マニフェスト情報を返す (将来使用するために予約されています) 32768

特定の ID を持つアイテムを取得する
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"
...
ID で降順に並べ替える
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 プロパティを知っていて、それを HTTP 要求本文の type の値として渡す必要があります。 以下は、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 ブール型 成功
{
  "value": [
    {
      "ErrorMessage": null,
      "FieldName": "Title",
      "FieldValue": "Item",
      "HasException": false,
      "ItemId": 0
    },
    {
      "ErrorMessage": null,
      "FieldName": "Id",
      "FieldValue": "1",
      "HasException": false,
      "ItemId": 0
    }
  ]
}

value プロパティには、リスト アイテムを作成するときに設定されたプロパティの一覧が含まれています。

リスト アイテムを更新する

次の例は、リスト アイテムを更新する方法を示しています。

注意

この操作を実行するには、リストの ListItemEntityTypeFullName プロパティを知っていて、それを HTTP 要求本文の type の値として渡す必要があります。

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 標準に準拠) は、SharePoint リストとリスト アイテムの Header ETags を使用します。 PUTMERGEDELETE 要求を実行するときにアイテムのバージョンを確認するには、If-Match HTTP 要求ヘッダーで ETag を指定します。

要求に指定した ETag がサーバー上のドキュメントまたはリスト項目の ETag と一致しない場合、OData 仕様に従い、REST サービスによって 412 例外が返されます。

  • バージョンの違いにかかわらず、アイテムを強制的に上書きするには、ETag の値に "*" を設定します。
  • ETag を指定しない場合、SharePoint は、バージョンの違いにかかわらずアイテムを上書きします。

SharePoint 内で、ETag は SharePoint リストとリスト項目にのみ適用されます。

関連項目