DriveItem の内容をアップロードまたは置換する

簡単なアップロード API を使用すると、新しいファイルの内容を提供したり、単一の API 呼び出しで既存のファイルの内容を更新したりすることができます。 このメソッドは、サイズが 4MB までのファイルのみをサポートしています。

大きなファイルをアップロードする場合は、「アップロード セッションを使ってサイズの大きなファイルをアップロードする」を参照してください。

アクセス許可

この API を呼び出すには、次のいずれかのアクセス許可が必要です。 アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。

アクセス許可の種類 アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント) Files.ReadWrite、Files.ReadWrite.All、Sites.ReadWrite.All
委任 (個人用 Microsoft アカウント) Files.ReadWrite、Files.ReadWrite.All
アプリケーション Files.ReadWrite.All、Sites.ReadWrite.All

HTTP 要求 (既存アイテムを置換する場合)

PUT /drives/{drive-id}/items/{item-id}/content
PUT /groups/{group-id}/drive/items/{item-id}/content
PUT /me/drive/items/{item-id}/content
PUT /sites/{site-id}/drive/items/{item-id}/content
PUT /users/{user-id}/drive/items/{item-id}/content

HTTP 要求 (新しいファイルをアップロードする場合)

PUT /drives/{drive-id}/items/{parent-id}:/{filename}:/content
PUT /groups/{group-id}/drive/items/{parent-id}:/{filename}:/content
PUT /me/drive/items/{parent-id}:/{filename}:/content
PUT /sites/{site-id}/drives/{drive-id}/{parent-id}:/{filename}:/content
PUT /users/{user-id}/drive/items/{parent-id}:/{filename}:/content

要求本文

要求の本文の内容は、アップロードするファイルのバイナリ ストリームである必要があります。

応答

成功した場合、このメソッドは、新しく作成されたファイルまたは更新されたファイルの応答本文で driveItem オブジェクトを返します。

例 (新しいファイルのアップロード)

次の使用例は、"ファイルの内容がここに移動します" という文字列を、FileB.txt という名前の FolderA の下にあるサインインユーザーのドライブ内のファイルにアップロードします。

PUT /me/drive/root:/FolderA/FileB.txt:/content
Content-Type: text/plain

The contents of the file goes here.

応答

成功した場合、このメソッドは、新しく作成されたファイルの応答本文で driveItem リソースを返します。

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "0123456789abc",
  "name": "FileB.txt",
  "size": 35,
  "file": { }
}

例 (既存ファイルの更新)

この例では、既知の ID を持つファイルの内容を置き換えます。

PUT /me/drive/items/{item-id}/content
Content-Type: text/plain

The contents of the file goes here.

応答

成功した場合、このメソッドは、新しく作成されたファイルの応答本文で driveItem リソースを返します。

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "0123456789abc",
  "name": "FileB.txt",
  "size": 35,
  "file": { }
}

注釈

ブロックするファイルの種類

SharePoint Server 2016 は、いくつかのファイル拡張子について、サーバーへのアップロードをブロックします。

  • .ashx: ASP.NET Web ハンドラー ファイル
  • .asmx: ASP.NET Web サービス ソース ファイル
  • .json: JavaScript Object Notation ファイル
  • .soap: Simple Object Access Protocol ファイル
  • .svc: Windows Communication Foundation (WCF) サービス ファイル
  • .xamlx: Visual Studio ワークフロー サービス ファイル

ブロックされるファイル拡張子の詳細については、「リストまたはライブラリに追加できないファイルの種類」を参照してください。

競合解決機能の動作

既定では、この API は既存のアイテムを同じ名前で置き換えます。 競合解決の動作をカスタマイズするには、値が失敗置換、または名前変更された という名前@microsoft.graph.conflictBehaviorのクエリ パラメーターを要求に追加します。

エラー応答

エラーがどのように返されるかの詳細については、「エラー応答」を参照してください。