ファイルおよびフォルダー REST API リファレンス

File リソース、FileVersion リソース、Folder リソース、関連するリソースのための REST API について説明します。

適用対象: apps for SharePoint | SharePoint Foundation 2013 | SharePoint Online | SharePoint Server 2013

この記事の内容
この記事で示されている要求の各例について
SharePoint 2013 ファイルおよびフォルダーの REST 構文の説明
ファイル リソース
FileCollection リソース
FileVersion リソース
FileVersionCollection リソース
Folder リソース
FolderCollection リソース
その他の技術情報

この記事で示されている要求の各例について

この記事の要求の例は、クロスドメイン要求を行うためにクロスドメイン ライブラリ (SP.RequestExecutor.js) を使用していることを前提としています。このため、エンドポイント URI で SP.AppContextSite を使用します。詳細については、「クロスドメイン ライブラリを使用してアドインから SharePoint 2013 のデータにアクセスする」を参照してください。

要求の例を使用する前に、次の操作を実行してください。

  • <アプリ web url>、<ホスト web url>、および ID、名前、SharePoint エンティティのパスなどその他プレースホルダーのデータを変更します。

  • クロスドメイン ライブラリを使用していない場合は、すべての POST 要求のフォーム ダイジェストの値を送信する X-RequestDigest ヘッダー、および要求本文でデータを送信する POST 要求のための content-length ヘッダーを含めます。

  • クロスドメイン要求を行わない場合は、SP.AppContextSite(@target) および ?@target='<host web url>' をエンドポイント URI から削除します。

  • OAuth を使用する場合は、Authorization ヘッダー ("Authorization": "Bearer " + <access token>) を含めて OAuth アクセス トークンを送信します。

  • 要求の例の url および body プロパティ値から改行を削除します。改行は、例を分かりやすくするために追加されています。

  • サーバーが Atom 形式で応答を返すようにするには、"accept": "application/json; odata=verbose" ヘッダーを削除します。

クロスドメイン ライブラリ、OAuth、および SharePoint REST サービスの使用法についての詳細は、「その他の技術情報」を参照してください。要求形式についての詳細は、「環境によって異なる REST 要求の方法」および「REST 要求で使うプロパティ」を参照してください。

ヒント

SharePoint Online REST サービスは、OData $batch クエリ オプションを使用して複数の要求を、サービスに対する 1 つの呼び出しに結合できます。詳細とコード サンプルへのリンクについては、「REST API によりバッチ要求を発行する」をご覧ください。このオプションは、オンプレミスの SharePoint ではサポートされていません。

SharePoint 2013 ファイルおよびフォルダーの REST 構文の説明

REST サービス ファイルおよびフォルダー構文の様子

SharePoint 2013 リストおよびリスト アイテムの REST 構文を視覚的に表示します

その他の SharePoint REST 構文の図を説明します。

リストおよびリスト アイテム | ユーザーおよびグループ

すべての SharePoint REST 構文の図が統合された PDF をダウンロードします。

ファイル リソース

SharePoint Web サイト内のファイルを表します。このファイルは、Web パーツ ページ、ドキュメント ライブラリ内のアイテム、またはフォルダー内のファイルのいずれかになります。

エンドポイント URI  |  プロパティ  |  メソッド  |  OData 表現

エンドポイント URI

http://<サイトの url>/_api/web/getfilebyserverrelativeurl('/<フォルダー名 >/<ファイル名>')

サポートされる HTTP メソッド

GET  |  PUT  (メディア リソース)

GET  |  DELETE  |  POST  (ファイル リソース)

要求の例

GET 要求の例: ファイル コンテンツの取得 (メディア リソース)

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')/$value
    ?@target='<host web url>'",
  method: "GET",
  binaryStringResponseBody: true,
  success: successHandler,
  error: errorHandler
});

GET 要求の例: ファイル メタデータを取得します

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

PUT 要求の例: ファイル コンテンツの更新 (メディア リソース)

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.txt')/$value
    ?@target='<host web url>'",
  method: "POST",
  body: "Updated contents of the file go here",
  headers: { "X-HTTP-Method":"PUT" },
  success: successHandler,
  error: errorHandler
});

まずファイルをチェックアウトして、他のユーザーが変更するのを防ぎます。その後、変更を加えた後に再度チェックインします。「CheckOut メソッド」と「CheckIn メソッド」をご覧ください。

DELETE 要求の例: ファイルを削除します。

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    ?@target='<host web url>'",
  method: "POST",
  headers: { "X-HTTP-Method":"DELETE" },
  success: successHandler,
  error: errorHandler
});

または、「Recycle メソッド」を使用してファイルを削除し、リサイクルしたアイテムの GUID を取得できます。

注意

ファイルを作成してフォルダーに追加する方法の例については、「Add メソッド」をご覧ください。

ファイルのプロパティ

プロパティを取得するには、次の例に示すように、GET 要求をプロパティ エンドポイントに送ります。

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')/<property name>
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

プロパティ

R/W

リソースで返される

説明

Author

SP.User

R

いいえ

このファイルを追加したユーザーを示す値を取得します。

CheckedOutByUser

SP.User

R

いいえ

ファイルをチェックアウトしたユーザーを返す値を取得します。

CheckInComment

String

R

はい

ドキュメント ライブラリへのドキュメントのチェックイン時に使用されるコメントを返す値を取得します。

CheckOutType

Int32

R

はい

ファイルがドキュメント ライブラリからどのようにチェックアウトされるかを示す値を取得します。SP.CheckOutType 値を表します。オンライン = 0、オフライン = 1、なし = 2。

ファイルのチェックアウト状態は、ロック状態とは無関係です。

ContentTag

String

R

はい

読み取りのためにドキュメントの等値性の検証に使用される、コンテンツの内部バージョンを返します。

CustomizedPageStatus

Int32

R

はい

ファイルのカスタマイズの状況を示す値を取得します。SP.CustomizedPageStatus 値を表します。なし = 0、カスタマイズされていない = 1、カスタマイズ済み = 2。

ETag

String

R

はい

ETag 値を示す値を取得します。

Exists

Boolean

R

はい

ファイルが存在するかどうかを示す値を取得します。

Length

Int64

R

はい

ファイルで使用されるすべての Web パーツのサイズを除く、ファイルのサイズ (バイト単位) を取得します。

Level

Byte

R

はい

ファイルの発行レベルを示す値を取得します。SP.FileLevel 値を表します。発行 = 1、ドラフト = 2、チェックアウト = 255。

ListItemAllFields

SP.ListItem

R

いいえ

ファイルに対応するリスト アイテムのリスト アイテム フィールド値を示す値を取得します。

LockedByUser

SP.User

R

いいえ

ファイルに対する現在のロックを所有しているユーザーを返す値を取得します。

MajorVersion

Int32

R

はい

ファイルのメジャー バージョンを示す値を取得します。

MinorVersion

Int32

R

はい

ファイルのマイナー バージョンを示す値を取得します。

ModifiedBy

SP.User

R

いいえ

ファイルを最後に変更したユーザーを返す値を取得します。

Name

String

R

はい

拡張子を含むファイルの名前を取得します。

ServerRelativeUrl

String

R

はい

サーバーの URL を基準にしたファイルの相対 URL を取得します。

TimeCreated

DateTime

R

はい

ファイルが作成された日時を示す値を取得します。

TimeLastModified

DateTime

R

はい

ファイルが最後に変更された日時を示す値を取得します。

Title

String

R

はい

ファイルの表示名を示す値を取得します。

UiVersion

Int32

R

はい

ファイルの、実装に固有のバージョン識別子を示す値を取得します。

UiVersionLabel

String

R

はい

ファイルの、実装に固有のバージョン識別子を示す値を取得します。

Versions

SP.FileVersionCollection

R

いいえ

ファイルのバージョンを表すファイル バージョン オブジェクトのコレクションを返す値を取得します。

File メソッド

Approve
CancelUpload
CheckIn
CheckOut
ContinueUpload
CopyTo
DeleteObject
Deny
FinishUpload
GetLimitedWebPartManager
MoveTo
OpenBinaryStream
Publish
Recycle
SaveBinaryStream
StartUpload
UndoCheckOut
Unpublish

Approve

指定されたコメントを付けて、コンテンツの承認のために提出されたファイルを承認します。

コンテンツ承認が有効になっているリスト内のドキュメントのみ、承認できます。

エンドポイント

/approve(comment)

パラメーター

comment

型: String
承認のコメント。

HTTP メソッド

POST

応答

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /approve(comment='Check-in comment for the approval.')
    ?@target='<host web url>'",
  method: "POST",
  success: successHandler,
  error: errorHandler
});

CancelUpload メソッド

アップロードされたデータを保存しないでチャンク アップロード セッションを停止します。既にファイルがライブラリにない場合、部分的にアップロードされたファイルが削除されます。ユーザーの操作 (アップロードのキャンセル要求など)、エラー、例外への応答で使用します。

アップロード セッションを開始した StartUpload メソッドに渡された uploadId 値を使用します。

現在このメソッドは、Office 365 でのみ利用できます。

Endpoint

/cancelupload(uploadId)

Parameters

uploadID

型: GUID
アップロード セッションの一意識別子。

HTTP method

POST

Response

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /cancelupload(uploadId=guid'GUID')
    ?@target='<host web url>'",
  method: "POST",
  success: successHandler,
  error: errorHandler
});

CheckIn メソッド

チェックインの種類に基づいてドキュメント ライブラリ内のファイルをチェックインします。

Endpoint

/checkin(comment, checkInType)

Parameters

comment

型: String
チェックインのコメント。長さは <= 1023 である必要があります。

checkInType

型: Int32
ファイルの SP.CheckinType: MinorCheckIn = 0、MajorCheckIn = 1、OverwriteCheckIn = 2。

HTTP method

POST

Response

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /checkin(comment='Check-in comment.',checkintype=0)
    ?@target='<host web url>'",
  method: "POST",
  success: successHandler,
  error: errorHandler
});

CheckOut メソッド

チェックアウトの種類に基づいてファイルをドキュメント ライブラリからチェックアウトします。

Endpoint

/checkout

Parameters

なし

HTTP method

POST

Response

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /checkout
    ?@target='<host web url>'",
  method: "POST",
  success: successHandler,
  error: errorHandler
});

ContinueUpload メソッド

追加フラグメントを使用してチャンク アップロード セッションを続行します。現在のファイルの内容は変更されません。

アップロード セッションを開始した StartUpload メソッドに渡された uploadId 値を使用します。

現在このメソッドは、Office 365 でのみ利用できます。

Endpoint

/continueupload(uploadId, fileOffset)

Parameters

uploadID

型: GUID
アップロード セッションの一意識別子。

fileOffset

型: Int64
フラグメントが開始するファイル内のオフセットのサイズ。

POST の本文でファイル コンテンツ (ストリーム) を送信します。

HTTP method

POST

Response

型: Int64
アップロードされたデータのバイト単位の合計サイズ。

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /continueupload(uploadId=guid'GUID',fileOffset=8388608)
    ?@target='<host web url>'",
  method: "POST",
  body: stream containing intermediate chunk of file
  success: successHandler,
  error: errorHandler
});

CopyTo メソッド

ファイルをコピー先 URL にコピーします。

エンドポイント

/copyto(strNewUrl, bOverWrite)

パラメーター

strNewUrl

型: String
コピー先のファイル パスの絶対 URL またはサーバーの相対 URL。

bOverWrite

型: Boolean
同じ場所の同じ名前でファイルを上書きする場合は true、それ以外の場合は false。

HTTP method

POST

応答

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /copyto(strnewurl='/foldername/filename.docx',boverwrite=false)
    ?@target='<host web url>'",
  method: "POST",
  success: successHandler,
  error: errorHandler
});

DeleteObject メソッド

ファイルを削除する推奨方法は、File 要求の例に示すように DELETE 要求を File リソース エンドポイントに送信することです。

Deny メソッド

コンテンツの承認のために提出されたファイルの承認を拒否します。

コンテンツ承認が有効になっているリスト内のドキュメントのみ、拒否できます。

エンドポイント

/deny(comment)

パラメーター

comment

型: String
拒否のコメント。

HTTP method

POST

応答

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /deny(comment='Check-in comment for the denial.')
    ?@target='<host web url>'",
  method: "POST",
  success: successHandler,
  error: errorHandler
});

FinishUpload メソッド

最後のファイル フラグメントをアップロードし、ファイルをコミットします。現在のファイルの内容はこのメソッドの完了時に変更されます。

アップロード セッションを開始した StartUpload メソッドに渡された uploadId 値を使用します。

現在このメソッドは、Office 365 でのみ利用できます。

Endpoint

/finishupload(uploadId, fileOffset)

Parameters

uploadID

型: GUID
アップロード セッションの一意識別子。

fileOffset

型: Int64
フラグメントが開始するファイル内のオフセットのサイズ。

POST の本文でファイル コンテンツ (ストリーム) を送信します。

HTTP method

POST

Response

型: SP.File
新しいアップロード ファイル。

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /finishupload(uploadId=guid'GUID',fileOffset=125829120)
    ?@target='<host web url>'",
  method: "POST",
  body: stream containing final chunk of file
  success: successHandler,
  error: errorHandler
});

GetLimitedWebPartManager メソッド

この Web パーツ ページおよびビューと関連付けられている Web パーツの利用、変更、または追加で使用されるコントロール セットを指定します。

ファイルが ASPX ページでない場合、例外がスローされます。

エンドポイント

/getlimitedwebpartmanager(scope)

パラメーター

scope

型: Int32
Web パーツのページ での SP.WebParts.PersonalizationScope ビュー。User = 0、Shared = 1。

HTTP method

GET

応答

型: SP.WebParts.LimitedWebPartManager
Web パーツへのアクセス、Web パーツへの変更、Web パーツの追加に使用される関連するコントロール セット。

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/fileName.aspx')
    /getlimitedwebpartmanager(scope=0)
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

MoveTo メソッド

ファイルを指定の移動先 URL に移動します。

エンドポイント

/moveto(newUrl, flags)

パラメーター

newUrl

型: String
移動先のファイル パスの絶対 URL またはサーバーの相対 URL。

flags

型: Int32
ファイルの移動方法を示すビット単位の SP.MoveOperations の値。Overwrite = 1、AllowBrokenThickets (サポートしているファイルがそのファイルとは別個である場合でも移動する) = 8。

HTTP method

POST

応答

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /moveto(newurl='/Other Folder/filename.docx',flags=1)
    ?@target='<host web url>'",
  method: "POST",
  success: successHandler,
  error: errorHandler
});

OpenBinaryStream メソッド

ファイルをストリームとして開きます。

エンドポイント

/openbinarystream

パラメーター

なし

HTTP method

GET

応答

型: Stream
指定されたファイル ストリーム。

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /openbinarystream
    ?@target='<host web url>'",
  method: "GET",
  binaryStringResponseBody: true,
  success: successHandler,
  error: errorHandler
});

注意

または、ファイル リソースから $value を使用してファイルを開くことができます。例: …/getfilebyserverrelativeurl('/Shared Documents/filename.docx')/$value。

Publish メソッド

コンテンツ承認用のファイルに指定のコメントを添えて送信します。

エンドポイント

/publish(comment)

パラメーター

comment

型: String
公開されたファイルのコメント。長さは <= 1023 である必要があります。

HTTP method

POST

応答

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /publish(comment='Check-in comment for the publish operation.')
    ?@target='<host web url>'",
  method: "POST",
  success: successHandler,
  error: errorHandler
});

Recycle メソッド

ファイルをごみ箱に移動し、新しいごみ箱アイテムの識別子を返します。

エンドポイント

/recycle

パラメーター

なし

HTTP method

POST

応答

型: GUID
リサイクルされたファイルの GUID。

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /recycle
    ?@target='<host web url>'",
  method: "POST",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

SaveBinaryStream メソッド

エンドポイント

/savebinary

パラメーター

POST の本文でファイル コンテンツ (ストリーム) を送信します。

HTTP method

POST

応答

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /savebinarystream
    ?@target='<host web url>'",
  method: "POST",
  body: "This is the new content.",
  success: successHandler,
  error: errorHandler
});

StartUpload メソッド

新しいチャンク アップロード セッションを開始し、最初のフラグメントをアップロードします。このメソッドが完了するときに現行ファイルの内容には変更がありません。このメソッドは、uploadId と stream に同じ値を使用する限りはべき等です (したがって、結果に変わりがありません)。アップロード セッションが終了するのは、CancelUpload メソッドを使用するとき、または ContinueUpload メソッドおよび FinishUpload メソッドによってファイルの内容の残りの部分を渡してアップロード セッションが正常に完了するときのいずれかです。

たとえば、35 MB のファイルを 3 つの 10 MB のストリームと 1 つの 5 MB のストリームに分割し、それらを (10 MB、20 MB、30 MB の結果のオフセット値を使用して) アップロードして渡すことができます。

startUpload(GUID, stream1)
continueUpload(GUID, 10 MB, stream2)
continueUpload(GUID, 20 MB, stream3)
finishUpload(GUID, 30 MB, stream4)

StartUpload メソッドと ContinueUpload メソッドは実行中のアップロード データの合計サイズをバイト単位で戻すので、これらの戻り値をその後の ContinueUploadFinishUpload の使用時に渡すことができます。

現在このメソッドは、Office 365 でのみ利用できます。

Endpoint

/startupload(uploadId)

Parameters

uploadID

型: GUID
アップロード セッションの一意識別子。

POST の本文でファイル コンテンツ (ストリーム) を送信します。

HTTP method

POST

Response

型: Int64
アップロードされたデータのバイト単位のサイズ。

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /startupload(uploadId=guid'GUID')
    ?@target='<host web url>'",
  method: "POST",
  body: stream containing first chunk of file
  success: successHandler,
  error: errorHandler
});

UndoCheckOut メソッド

ファイルの既存のチェックアウトを元に戻します。

エンドポイント

/undocheckout

パラメーター

なし

HTTP method

POST

応答

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /undocheckout
    ?@target='<host web url>'",
  method: "POST",
  success: successHandler,
  error: errorHandler
});

Unpublish メソッド

ファイルをコンテンツの承認から削除するか、メジャー バージョンの発行を取り消します。

エンドポイント

/unpublish

パラメーター

comment

型: String
未公開操作のコメント。長さは <= 1023 である必要があります。

HTTP method

POST

応答

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /unpublish(comment='Check-in comment for the unpublish operation.')
    ?@target='<host web url>'",
  method: "POST",
  success: successHandler,
  error: errorHandler
});

OData 表現

次の例は、JSON 形式での File リソースを表しています。

    {"d":{
      "__metadata":{,
        "id":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared Documents/folderName/fileName.docx')",
        "uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName.docx')",
        "type":"SP.File"
      },
      "Author":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName.docx')/Author"}},
      "CheckedOutByUser":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName.docx')/CheckedOutByUser"}},
      "ListItemAllFields":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName.docx')/ListItemAllFields"}},
      "LockedByUser":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName.docx')/LockedByUser"}},
      "ModifiedBy":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName.docx')/ModifiedBy"}},
      "Versions":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName.docx')/Versions"}},
      "CheckInComment":"Revisions to the file.",
      "CheckOutType":2,
      "ContentTag":"{2FBB0C3C-4059-41A2-A5CF-3E076EA0A94C},2,3",
      "CustomizedPageStatus":0,
      "ETag":"\"{2FBB0C3C-4059-41A2-A5CF-3E076EA0A94C},2\"",
      "Exists":true,
      "Length":"20609",
      "Level":1,
      "MajorVersion":1,
      "MinorVersion":0,
      "Name":"fileName.docx",
      "ServerRelativeUrl":"/Shared Documents/folderName/fileName.docx",
      "TimeCreated":"2013-05-16T21:01:23Z",
      "TimeLastModified":"2013-05-18T04:57:32Z",
      "Title":"",
      "UIVersion":512,
      "UIVersionLabel":"1.0"
    }}

FileCollection リソース

File リソースのコレクションを表します。

エンドポイント URI  |  メソッド  |  OData 表現

エンドポイント URI

http://<サイトの url>/_api/web/getfolderbyserverrelativeurl('/<フォルダー名>')/files

サポートされる HTTP メソッド

GET  |  POST

要求の例

GET 要求の例: フォルダー内のすべてのファイルのメタデータを取得します。

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents/Folder A')/files
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

GET 要求の例: ファイル名でファイルのコンテンツ (メディア リソース) を取得します

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents/Folder A')/files('filename.docx')/$value
    ?@target='<host web url>'",
  method: "GET",
  binaryStringResponseBody: true,
  success: successHandler,
  error: errorHandler
});

GET 要求の例: ファイル メタデータを取得します

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents/Folder A')/files('filename.docx')
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
};

GetFileByServerRelativeUrl エンドポイントを使用してファイルを取得する方法と、ファイルを更新および削除する方法の例については、「File 要求の例」をご覧ください。ファイルの作成については、「Add メソッド」をご覧ください。

FileCollection メソッド

Add
AddTemplateFile
GetByUrl

Add メソッド

エンドポイント

/add(content, overwrite, url)

パラメーター

content

型: Stream
ファイルの内容。要求本文で content パラメーターを渡します。REST API で追加できるバイナリー ファイルの最大サイズは 2 GB です。

overwrite

型: Boolean
すでに存在する場合にファイルを上書きするには true、それ以外の場合は false。

url

型: String
ファイルのフォルダー相対 URL。

HTTP method

POST

応答

型: SP.File
新しいファイル。

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents/Folder A')/files
    /add(overwrite=true,url='filename.txt')
    ?@target='<host web url>'",
  method: "POST",
  body: "Contents of the file go here",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

次の例は、クロスドメイン ライブラリを使用してバイナリー ファイルをアップロードする方法を示しています。クロスドメイン ライブラリを使用する場合、ファイル ストリームを文字列に変換する必要があります。jQuery の例については、「REST API および jQuery を使用してファイルをアップロードする」をご覧ください。

function addFile(arrayBuffer) { 
    var executor = new SP.RequestExecutor(appWebUrl);

    // Construct the endpoint.
    // The GetList method is available for SharePoint Online only. 
    var fileCollectionEndpoint = String.format(
         "{0}/_api/sp.appcontextsite(@target)/web/getlist('{1}')/" +
         "rootfolder/files/add(overwrite=true, url='{2}')?@target='{3}'",
         appWebUrl, listName, fileName, hostWebUrl);

    var fileData = '';
    var byteArray = new Uint8Array(arrayBuffer);
    for (var i = 0; i < byteArray.byteLength; i++) {
        fileData += String.fromCharCode(byteArray[i]);
    }

    // Send the request.
    executor.executeAsync({
        url: fileCollectionEndpoint,
        method: "POST",
        body: fileData,
        binaryStringRequestBody: true,
        headers: {"accept":"application/json;odata=verbose"},
        success: function (data) {
            alert('File upload succeeded.');
        },
        error: function (err) {
            alert('Error: ' + err.responseText);
        }
    });
}

AddTemplateFile メソッド

非実体化ファイルを既存のリストまたはドキュメント ライブラリに追加します。

エンドポイント

/addTemplateFile(urlOfFile、templateFileType)

パラメーター

urlOfFile

型: String
ファイルを保存する場所のサーバー相対 URL。

templateFileType

型: Int32
ファイルの作成に使用する SP.TemplateFileType。StandardPage = 0、WikiPage = 1、FormPage = 2。

HTTP method

POST

応答

型: SP.File
追加されたテンプレート ファイル。

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents')/files
    /addtemplatefile(urloffile='/Shared Documents/newwikipage.aspx',templatefiletype=1)
    ?@target='<host web url>'",
  method: "POST",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

GetByUrl メソッド

指定された URL でファイルを取得します。

GetFileByServerRelativeUrl エンドポイントはファイルを取得する推奨方法です。「SP.File 要求の例」をご覧ください。

エンドポイント

/getbyurl('<ファイルの名前またはサーバー相対 url>')

パラメーター

なし

HTTP method

GET

応答

型: SP.File
指定された URL にあるファイル。

  要求の例

  ファイル コンテンツの取得 (メディア リソース)

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents/foldername')/files
    /getbyurl('filename.docx')/$value
    ?@target='<host web url>'",
  method: "GET",
  binaryStringResponseBody: true,
  success: successHandler,
  error: errorHandler
});

  ファイルのメタデータの取得 (ファイル リソース)

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents/foldername')/files
    /getbyurl('filename.docx')
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

ファイルを取得するその他の方法については、「File 要求の例」と「FileCollection 要求の例」をご覧ください。

OData 表現

次の例は、JSON 形式での FileCollection リソースを表しています。

    {"d":{
      "results":[{
        "__metadata":{
          "id":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared Documents/folderName/fileName1.docx')",
          "uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName1.docx')",
          "type":"SP.File"
        },
        "Author":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName1.docx')/Author"}},
        "CheckedOutByUser":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName1.docx')/CheckedOutByUser"}},
        "ListItemAllFields":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName1.docx')/ListItemAllFields"}},
        "LockedByUser":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName1.docx')/LockedByUser"}},
        "ModifiedBy":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName1.docx')/ModifiedBy"}},
        "Versions":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName1.docx')/Versions"}},
        "CheckInComment":"",
        "CheckOutType":2,
        "ContentTag":"{2FBB0C3C-4059-41A2-A5CF-3E076EA0A94C},4,7",
        "CustomizedPageStatus":0,
        "ETag":"\"{2FBB0C3C-4059-41A2-A5CF-3E076EA0A94C},4\"",
        "Exists":true,
        "Length":"20609",
        "Level":1,
        "MajorVersion":1,
        "MinorVersion":0,
        "Name":"fileName1.docx",
        "ServerRelativeUrl":"/Shared Documents/folderName/fileName1.docx",
        "TimeCreated":"2013-05-16T21:01:23Z",
        "TimeLastModified":"2013-06-09T02:38:14Z",
        "Title":"Title of fileName1",
        "UIVersion":512,
        "UIVersionLabel":"1.0"
        },{
        "__metadata":{
          "id":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared Documents/folderName/fileName2.docx')",
          "uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName2.docx')",
          "type":"SP.File"
        },
        "Author":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName2.docx')/Author"}},
        "CheckedOutByUser":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName2.docx')/CheckedOutByUser"}},
        "ListItemAllFields":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName2.docx')/ListItemAllFields"}},
        "LockedByUser":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName2.docx')/LockedByUser"}},
        "ModifiedBy":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName2.docx')/ModifiedBy"}},
        "Versions":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFileByServerRelativeUrl('/Shared%20Documents/folderName/fileName2.docx')/Versions"}},
        "CheckInComment":"",
        "CheckOutType":2,
        "ContentTag":"{E654B970-C4BF-4DC5-9719-B5B01CAD6FD9},4,9",
        "CustomizedPageStatus":0,
        "ETag":"\"{E654B970-C4BF-4DC5-9719-B5B01CAD6FD9},4\"",
        "Exists":true,
        "Length":"12263",
        "Level":1,
        "MajorVersion":1,
        "MinorVersion":0,
        "Name":"fileName2.docx",
        "ServerRelativeUrl":"/Shared Documents/folderName/fileName2.docx",
        "TimeCreated":"2013-05-18T05:01:51Z",
        "TimeLastModified":"2013-06-09T02:38:59Z",
        "Title":"Title of fileName2",
        "UIVersion":512,
        "UIVersionLabel":"1.0"
      }]}}

FileVersion リソース

File リソースのバージョンを表します。

エンドポイント URI  |  プロパティ  |  メソッド  |  OData 表現

エンドポイント URI

http://<サイトの url>/_api/web/getfilebyserverrelativeurl('/<フォルダー名>/<ファイル名>')/versions(<バージョン ID>)

サポートされる HTTP メソッド

GET  |  POST  |  DELETE

要求の例

GET 要求の例: あるファイル バージョンのメタデータを取得します

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions(512)
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

DELETE 要求の例: ファイルの特定バージョンを削除します

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions(513)
    ?@target='<host web url>'",
  method: "POST",
  headers: { "X-HTTP-Method":"DELETE" },
  success: successHandler,
  error: errorHandler
});

FileVersion プロパティ

プロパティを取得するには、次の例に示すように、GET 要求をプロパティ エンドポイントに送ります。

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')
    /versions(512)/<property name>
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

プロパティ

R/W

リソースで返される

説明

CheckInComment

String

R

はい

チェックイン コメントを示す値を取得します。

Created

DateTime

R

はい

ファイル バージョンの作成日時を示す値を取得します。

CreatedBy

SP.User

R

いいえ

ファイル バージョンの作成者を表しているユーザーを示す値を取得します。

ID

Int32

R

はい

ファイル バージョンの内部識別子を取得します。

IsCurrentVersion

Boolean

R

はい

ファイル バージョンが現在のバージョンかどうかを示す値を取得します。

Size

Int32

R

はい

Url

String

R

はい

サイトまたはサブサイトの URL を基準とした、ファイル バージョンの相対 URL を示す値を取得します。

VersionLabel

String

R

はい

実装に固有の、ファイルの識別子を示す値を取得します。 の majorVersionNumber.minorVersionNumber の書式を使用。例: 1.2。

FileVersion メソッド

DeleteObject

DeleteObject メソッド

ファイル バージョンを削除する推奨方法は、FileVersion 要求の例に示すように DELETE 要求を FileVersion リソースのエンドポイントに送信することです。

OData 表現

次の例は、JSON 形式での FileVersion リソースを表しています。

    {"d":{
      "__metadata":{,
        "id":"http://<site url>/_api/web/getfilebyserverrelativeurl('/Shared Documents/folderName/fileName1.docx')/versions(512)",
        "uri":"http://<site url>/_api/web/getfilebyserverrelativeurl('/Shared%20Documents/folderName/fileName1.docx')/versions(512)",
        "type":"SP.FileVersion"
      },
      "CreatedBy":{"__deferred":{"uri":"http://<site url>/_api/web/getfilebyserverrelativeurl('/Shared%20Documents/folderName/fileName1.docx')/versions(512)/CreatedBy"}},
      "CheckInComment":"Revisions to the file.",
      "Created":"2013-06-10T04:02:53Z",
      "ID":512,
      "IsCurrentVersion":true,
      "Size":20609,
      "Url":"_vti_history/512/Shared Documents/folderName/fileName1.docx",
      "VersionLabel":"1.0"
    }}

FileVersionCollection リソース

FileVersion リソースのコレクションを表します。

エンドポイント URI  |  メソッド  |  OData 表現

エンドポイント URI

  http://<サイトの url>/_api/web/getfilebyserverrelativeurl('/<フォルダー名>/<ファイル名>')/versions

HTTP メソッド

このリソースは次の HTTP メソッドをサポートします。

GET  |  POST

要求の例

GET 要求の例: ファイルのすべてのバージョンのメタデータを取得します

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

GET 要求の例: あるファイル バージョンのメタデータを取得します

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions(512)
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

FileVersionCollection メソッド

DeleteAll
DeleteById
DeleteByLabel
GetById
RestoreByLabel

DeleteAll メソッド

コレクション内のすべてのファイル バージョン オブジェクトを削除します。

エンドポイント

/deleteall

パラメーター

なし

HTTP method

POST

応答

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions
    /deleteall
    ?@target='<host web url>'",
  method: "POST",
  success: successHandler,
  error: errorHandler
});

DeleteById メソッド

指定されたバージョンのファイルを削除します。

エンドポイント

/deletebyid(vid)

パラメーター

vid

型: Int32
削除するファイル バージョンの ID。

HTTP method

POST

応答

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions
    /deletebyid(vid=3)
    ?@target='<host web url>'",
  method: "POST",
  success: successHandler,
  error: errorHandler
});

DeleteByLabel メソッド

指定されたバージョン ラベルを持つファイル バージョン オブジェクトを削除します。

エンドポイント

/deletebylabel(versionlabel)

パラメーター

versionlabel

型: String
削除するファイル バージョンの SP.FileVersion.VersionLabel プロパティ。

HTTP method

POST

応答

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions
    /deletebylabel(versionlabel='1.2')
    ?@target='<host web url>'",
  method: "POST",
  success: successHandler,
  error: errorHandler
});

GetById メソッド

エンドポイント

/getbyid(versionid)

パラメーター

versionid

型: Int32
取得するファイル バージョンの ID。

HTTP method

GET

応答

型: SP.FileVersion
指定されたファイル バージョン。

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions
    /getbyid(512)
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

または、バージョン ID をコレクションに直接渡すことができます (…/versions(512))。「FileVersionCollection 要求の例」をご覧ください。

RestoreByLabel メソッド

バージョンラベルによって指定されたファイルから新しいファイル バージョンを作成します。

エンドポイント

/restorebylabel(versionlabel)

パラメーター

versionlabel

型: String
復元するファイル バージョンの SP.FileVersion.VersionLabel プロパティ。

HTTP method

POST

応答

なし

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfilebyserverrelativeurl('/Shared Documents/filename.docx')/versions
    /restorebylabel(versionlabel='1.2')
    ?@target='<host web url>'",
  method: "POST",
  success: successHandler,
  error: errorHandler
});

OData 表現

次の例は、JSON 形式での FileVersionCollection リソースを表しています。

    {"d":{
      "results":[{
        "__metadata":{
          "id":"http://<site url>/_api/SP.FileVersiona6a6bb00-2b96-41e6-a901-46df015183b9",
          "uri":"http://<site url>/_api/SP.FileVersiona6a6bb00-2b96-41e6-a901-46df015183b9",
          "type":"SP.FileVersion"
        },
        "CreatedBy":{"__deferred":{"uri":"http://<site url>/_api/SP.FileVersiona6a6bb00-2b96-41e6-a901-46df015183b9/CreatedBy"}},
        "CheckInComment":"",
        "Created":"2013-06-10T04:02:53Z",
        "ID":512,
        "IsCurrentVersion":true,
        "Size":20609,
        "Url":"_vti_history/512/Shared Documents/folderName/fileName1.docx",
        "VersionLabel":"1.0"
        },{
        "__metadata":{
          "id":"http://<site url>/_api/SP.FileVersion6accd876-7579-47b6-9779-19a24f6ab8a1",
          "uri":"http://<site url>/_api/SP.FileVersion6accd876-7579-47b6-9779-19a24f6ab8a1",
          "type":"SP.FileVersion"
        },
        "CreatedBy":{"__deferred":{"uri":"http://<site url>/_api/SP.FileVersion6accd876-7579-47b6-9779-19a24f6ab8a1/CreatedBy"}},
        "CheckInComment":"Revisions to the file.",
        "Created":"2013-06-11T17:42:41Z",
        "ID":513,
        "IsCurrentVersion":false,
        "Size":17973,
        "Url":"_vti_history/513/Shared Documents/folderName/fileName1.docx",
        "VersionLabel":"1.1"
      }]}}

Folder リソース

SharePoint Web サイト上のフォルダーを表します。

エンドポイント URI  |  プロパティ  |  メソッド  |  OData 表現

エンドポイント URI

http://<サイトの url>/_api/web/getfolderbyserverrelativeurl('/<フォルダー名>')

サポートされる HTTP メソッド

GET  |  POST  |  DELETE  |  MERGE  |  PUT

要求の例

GET 要求の例: フォルダーを取得します

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents/Folder A')
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

MERGE 要求の例: フォルダーを変更します

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents/Folder A')
    ?@target='<host web url>'",
  method: "POST",
  body: "{ '__metadata':{ 'type': 'SP.Folder' }, 'WelcomePage':'Folder B/WelcomePage.aspx' }",
  headers: {
    "content-type": "application/json; odata=verbose",
    "X-HTTP-Method": "MERGE"
  },
  success: successHandler,
  error: errorHandler
});

DELETE 要求の例: フォルダーを削除します

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents/Folder A')
    ?@target='<host web url>'",
  method: "POST",
  headers: { "X-HTTP-Method":"DELETE" },
  success: successHandler,
  error: errorHandler
});

フォルダーの作成方法の例については、「FolderCollection 要求の例」をご覧ください。

フォルダー プロパティ

プロパティを取得するには、次の例に示すように、GET 要求をプロパティ エンドポイントに送ります。

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents/Folder A')/<property name>
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

書き込み可能なプロパティを設定するには、リソースを取得し、本文にプロパティの値を設定してから、リソースで MERGE メソッドを使用して変更をマージするか、PUT メソッドを使用してリソースを置き換えます。例については、「Folder 要求の例」をご覧ください。

プロパティ

R/W

リソースで返される

説明

ContentTypeOrder

Collection(SP.ContentTypeId)

R

はい

コンテンツ タイプが表示される順序を指定します。

Files

SP.FileCollection

R

いいえ

リスト フォルダーに含まれているすべてのファイルのコレクションを取得します。 フォルダーのFileCollection リソースで Add メソッドを使用すると、ファイルをフォルダーに追加できます。

Folders

SP.FolderCollection

R

いいえ

リスト フォルダーに含まれているリスト フォルダーのコレクションを取得します。

ItemCount

Int32

R

はい

リスト フォルダー内のアイテム数を示す値を取得します。

ListItemAllFields

SP.ListItem

R

いいえ

ファイルに対応するリスト アイテムのリスト アイテム フィールド (2) 値を指定します。

Name

String

R

はい

フォルダーの名前を取得します。

ParentFolder

SP.Folder

R

いいえ

フォルダーの親リスト フォルダーを取得します。

Properties

SP.PropertyValues

R

いいえ

フォルダーに含まれているすべてのファイルのコレクションを取得します。

ServerRelativeUrl

String

R

はい

リスト フォルダーのサーバー相対 URL を取得します。

UniqueContentTypeOrder

Collection(SP.ContentTypeId)

RW

はい

コンテンツ タイプの順序を指定する値を取得または設定します。

WelcomePage

String

RW

はい

リスト フォルダーのウェルカム ページのフォルダー相対 URL を指定する値を取得または設定します。

Folder メソッド

DeleteObject
Recycle

DeleteObject メソッド

フォルダーを削除する推奨方法は、Folder 要求の例に示すように DELETE 要求を Folder リソースのエンドポイントに送信することです。

Recycle メソッド

リスト フォルダーをごみ箱に移動し、新しいごみ箱アイテムの識別子を返します。

エンドポイント

/recycle

HTTP method

POST

パラメーター

なし

応答

型: GUID
リサイクル操作の ID。

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents/Folder A')
    /recycle
    ?@target='<host web url>'",
  method: "POST",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

OData 表現

次の例は、JSON 形式での Folder リソースを表しています。

    {"d":{
      "__metadata":{,
        "id":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared Documents/Folder A')",
        "uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Folder%20A')",
        "type":"SP.Folder"
      },
      "Files":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Folder%20A')/Files"}},
      "ListItemAllFields":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Folder%20A')/ListItemAllFields"}},
      "ParentFolder":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Folder%20A')/ParentFolder"}},
      "Properties":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Folder%20A')/Properties"}},
      "Folders":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Folder%20A')/Folders"}},
      "ItemCount":7,
      "Name":"Folder A",
      "ServerRelativeUrl":"/Shared Documents/Folder A",
      "WelcomePage":""
    }}

FolderCollection リソース

Folder リソースのコレクションを表します。

エンドポイント URI  |  メソッド  |  OData 表現

エンドポイント URI

http://<サイトの url>/_api/web/folders (ルート サイトのトップレベル フォルダー)
http://<サイトの url>/_api/web/getfolderbyserverrelativeurl('/<フォルダー名>')/folders

サポートされる HTTP メソッド

GET  |  POST

要求の例

GET 要求の例: ルート サイトでフォルダーを取得します

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web/folders
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

GET 要求の例: ドキュメント ライブラリでフォルダーを取得します

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents')/folders
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

GET 要求の例: 名前でフォルダーを取得します

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents/Folder A')/folders('Folder B')
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

POST 要求の例: フォルダーを作成します (または Add メソッドを使用できます)

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web
    /getfolderbyserverrelativeurl('/Shared Documents/Folder A')/folders
    ?@target='<host web url>'",
  method: "POST",
  body: "{ '__metadata':{ 'type': 'SP.Folder' }, 'ServerRelativeUrl':'Folder B' }",
  headers: {
    "accept": "application/json; odata=verbose",
    "content-type": "application/json; odata=verbose"
  },
  success: successHandler,
  error: errorHandler
});

フォルダーの更新および削除方法の例ついては、「Folder 要求の例」をご覧ください。

FolderCollection メソッド

Add
GetByUrl

Add メソッド

指定された URL にあるフォルダーをコレクションに追加します。

エンドポイント

/add(url)

パラメーター

url

型: String
完全修飾 URL、サーバー相対 URL、サイト相対 URL としての、フォルダー (新しいフォルダーの名前を含む) を追加するパス。

HTTP method

POST

応答

型: SP.Folder
新たに追加したフォルダー。

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web/folders
    /add('/Shared Documents/Folder A/Folder B')
    ?@target='<host web url>'",
  method: "POST",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

GetByUrl メソッド

エンドポイント

/getbyurl('<サーバー相対フォルダー url>')

パラメーター

型: String
フォルダーのサーバー相対 URL。

HTTP method

GET

応答

型: SP.Folder
指定されたフォルダー。

  要求の例

executor.executeAsync({
  url: "<app web url>/_api/SP.AppContextSite(@target)/web/folders
    /getbyurl('Folder B')
    ?@target='<host web url>'",
  method: "GET",
  headers: { "accept": "application/json; odata=verbose" },
  success: successHandler,
  error: errorHandler
});

フォルダー コレクションにフォルダー名を直接渡すこともできます。例: …/folders('Folder B')。「FolderCollection 要求の例」をご覧ください。

OData 表現

次の例は、JSON 形式での FolderCollection リソースを表しています。

    {"d":{
      "results":[{
        "__metadata":{
          "id":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared Documents/Forms')",
          "uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Forms')",
          "type":"SP.Folder"
        },
        "Files":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Forms')/Files"}},
        "ListItemAllFields":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Forms')/ListItemAllFields"}},
        "ParentFolder":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Forms')/ParentFolder"}},
        "Properties":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Forms')/Properties"}},
        "Folders":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/Forms')/Folders"}},
        "ItemCount":0,
        "Name":"Forms",
        "ServerRelativeUrl":"/Shared Documents/Forms",
        "WelcomePage":""
        },{
        "__metadata":{
          "id":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared Documents/folderName')",
          "uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/folderName')",
          "type":"SP.Folder"
        },
        "Files":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/folderName')/Files"}},
        "ListItemAllFields":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/folderName')/ListItemAllFields"}},
        "ParentFolder":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/folderName')/ParentFolder"}},
        "Properties":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/folderName')/Properties"}},
        "Folders":{"__deferred":{"uri":"http://<site url>/_api/Web/GetFolderByServerRelativeUrl('/Shared%20Documents/folderName')/Folders"}},
        "ItemCount":4,
        "Name":"folderName",
        "ServerRelativeUrl":"/Shared Documents/folderName",
        "WelcomePage":""
      }]}}

その他の技術情報