ファイルおよびフォルダー 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 構文の説明
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 |
R |
いいえ |
このファイルを追加したユーザーを示す値を取得します。 |
|
CheckedOutByUser |
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 |
R |
いいえ |
ファイルに対応するリスト アイテムのリスト アイテム フィールド値を示す値を取得します。 |
|
LockedByUser |
R |
いいえ |
ファイルに対する現在のロックを所有しているユーザーを返す値を取得します。 |
|
MajorVersion |
Int32 |
R |
はい |
ファイルのメジャー バージョンを示す値を取得します。 |
MinorVersion |
Int32 |
R |
はい |
ファイルのマイナー バージョンを示す値を取得します。 |
ModifiedBy |
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 |
R |
いいえ |
ファイルのバージョンを表すファイル バージョン オブジェクトのコレクションを返す値を取得します。 |
File メソッド
Approve
CancelUpload
CheckIn
CheckOut
ContinueUpload
CopyTo
DeleteObject
Deny
FinishUpload
GetLimitedWebPartManager
MoveTo
OpenBinaryStream
Publish
Recycle
SaveBinaryStream
StartUpload
UndoCheckOut
Unpublish
Approve
指定されたコメントを付けて、コンテンツの承認のために提出されたファイルを承認します。
コンテンツ承認が有効になっているリスト内のドキュメントのみ、承認できます。
エンドポイント |
/approve(comment) |
パラメーター |
|
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 |
|
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 |
|
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 |
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) |
パラメーター |
|
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) |
パラメーター |
|
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 |
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) |
パラメーター |
|
HTTP method |
GET |
応答 |
型: SP.WebParts.LimitedWebPartManager |
要求の例
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) |
パラメーター |
|
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) |
パラメーター |
|
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 |
要求の例
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 メソッドは実行中のアップロード データの合計サイズをバイト単位で戻すので、これらの戻り値をその後の ContinueUpload と FinishUpload の使用時に渡すことができます。
現在このメソッドは、Office 365 でのみ利用できます。
Endpoint |
/startupload(uploadId) |
Parameters |
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 |
パラメーター |
|
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 メソッド
エンドポイント |
/add(content, overwrite, 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) |
パラメーター |
|
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 |
要求の例
ファイル コンテンツの取得 (メディア リソース)
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 |
R |
いいえ |
ファイル バージョンの作成者を表しているユーザーを示す値を取得します。 |
|
ID |
Int32 |
R |
はい |
ファイル バージョンの内部識別子を取得します。 |
IsCurrentVersion |
Boolean |
R |
はい |
ファイル バージョンが現在のバージョンかどうかを示す値を取得します。 |
Size |
Int32 |
R |
はい |
|
Url |
String |
R |
はい |
サイトまたはサブサイトの URL を基準とした、ファイル バージョンの相対 URL を示す値を取得します。 |
VersionLabel |
String |
R |
はい |
実装に固有の、ファイルの識別子を示す値を取得します。 の majorVersionNumber.minorVersionNumber の書式を使用。例: 1.2。 |
FileVersion メソッド
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) |
パラメーター |
|
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) |
パラメーター |
|
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) |
パラメーター |
|
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) |
パラメーター |
|
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 |
R |
いいえ |
リスト フォルダーに含まれているすべてのファイルのコレクションを取得します。 フォルダーのFileCollection リソースで Add メソッドを使用すると、ファイルをフォルダーに追加できます。 |
|
Folders |
R |
いいえ |
リスト フォルダーに含まれているリスト フォルダーのコレクションを取得します。 |
|
ItemCount |
Int32 |
R |
はい |
リスト フォルダー内のアイテム数を示す値を取得します。 |
ListItemAllFields |
R |
いいえ |
ファイルに対応するリスト アイテムのリスト アイテム フィールド (2) 値を指定します。 |
|
Name |
String |
R |
はい |
フォルダーの名前を取得します。 |
ParentFolder |
R |
いいえ |
フォルダーの親リスト フォルダーを取得します。 |
|
Properties |
SP.PropertyValues |
R |
いいえ |
フォルダーに含まれているすべてのファイルのコレクションを取得します。 |
ServerRelativeUrl |
String |
R |
はい |
リスト フォルダーのサーバー相対 URL を取得します。 |
UniqueContentTypeOrder |
Collection(SP.ContentTypeId) |
RW |
はい |
コンテンツ タイプの順序を指定する値を取得または設定します。 |
WelcomePage |
String |
RW |
はい |
リスト フォルダーのウェルカム ページのフォルダー相対 URL を指定する値を取得または設定します。 |
Folder メソッド
DeleteObject メソッド
フォルダーを削除する推奨方法は、Folder 要求の例に示すように DELETE 要求を Folder リソースのエンドポイントに送信することです。
Recycle メソッド
リスト フォルダーをごみ箱に移動し、新しいごみ箱アイテムの識別子を返します。
エンドポイント |
/recycle |
HTTP method |
POST |
パラメーター |
なし |
応答 |
型: GUID |
要求の例
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 メソッド
指定された URL にあるフォルダーをコレクションに追加します。
エンドポイント |
/add(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 |
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":""
}]}}