URL から OneDrive にファイルをアップロードする (プレビュー)

アプリでは、URL を指定することで OneDrive にアイテムをアップロードできます。 OneDrive は、リモート サーバーからファイルを直接ダウンロードするため、アプリではファイルのバイトをアップロードする必要がなくなります これは、ファイルのコンテンツが利用できない、または転送にかかる負担が大きくなる、モバイル クライアントやブラウザー アドインで特に役立ちます。

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

注: URL からのアイテムのアップロードは OneDrive 個人用に対してのみ可能です。

アクセス許可

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

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

HTTP 要求

POST /me/drive/items/{parent-item}/children

要求ヘッダー

名前 説明
Prefer string respond-async に設定すると、非同期のアイテム転送が有効になります。 それ以外の場合は、要求は中断されます。

要求本文

要求本文のコンテンツは、リモート URL から作成するアイテムの JSON 表記にする必要があります。 サービスはリモート URL からファイルをダウンロードするときに、ユーザーとして認証しないため、URL はパブリックにアクセスできる必要があります。

応答

このメソッドは要求の受け入れ時に、ダウンロードの進行状況を監視する方法についての詳細を返します。

HTTP/1.1 202 Accepted
Location: https://api.onedrive.com/monitor/4A3407B5-88FC-4504-8B21-0AABD3412717

POST /drive/items/{parent-item}/children
Content-Type: application/json
Prefer: respond-async

{
  "@microsoft.graph.sourceUrl": "http://wscont2.apps.microsoft.com/winstore/1x/e33e38d9-d138-42a1-b252-27da1924ca87/Screenshot.225037.100000.jpg",
  "name": "halo-screenshot.jpg",
  "file": { }
}

応答

サービスは、要求の受け入れ直後に応答を返し、コピーの進行状況を監視する方法についての詳細を提供します。

HTTP/1.1 202 Accepted
Location: https://api.onedrive.com/monitor/4A3407B5-88FC-4504-8B21-0AABD3412717

Location ヘッダーの値には、現在の操作の状態を取得するために使用できる URL が提示され、アップロードが完了する時期を判断できます。

備考

OneDrive for Business、SharePoint Online および SharePoint Server 2016 への URL を使用したアイテムのアップロードはサポートされていません。