driveItemVersion リソースの内容をダウンロードする
[アーティクル]
07/01/2022
2 人の共同作成者
この記事の内容
名前空間: microsoft.graph
特定のバージョンの driveItem の内容を取得します。
メモ: 現在のバージョンのコンテンツの取得はサポートされていません。 これを行うには、 driveItem メソッドの内容のダウンロードを 使用します。
アクセス許可
この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可 」を参照してください。
アクセス許可の種類
アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント)
Files.Read、Files.ReadWrite、Files.Read.All、Files.ReadWrite.All、Sites.Read.All、Sites.ReadWrite.All
委任 (個人用 Microsoft アカウント)
Files.Read、Files.ReadWrite、Files.Read.All、Files.ReadWrite.All
アプリケーション
Files.Read.All、Files.ReadWrite.All、Sites.Read.All、Sites.ReadWrite.All
HTTP 要求
GET /drives/{drive-id}/items/{item-id}/versions/{version-id}/content
GET /groups/{group-id}/drive/items/{item-id}/versions/{version-id}/content
GET /me/drive/items/{item-id}/versions/{version-id}/content
GET /sites/{site-id}/drive/items/{item-id}/versions/{version-id}/content
GET /users/{user-id}/drive/items/{item-id}/versions/{version-id}/content
応答
ファイルのバイトの事前認証されたダウンロード URL にリダイレクトする、302 Found 応答を返します。
ファイルのコンテンツをダウンロードするには、アプリケーションで応答の Location ヘッダーに従う必要があります。多くの HTTP クライアント ライブラリは、自動的に 302 リダイレクションに従い、即座にファイルのダウンロードを開始します。
事前認証されたダウンロード URL は、短期間 (数分) のみ有効で、ダウンロードのために Authorization ヘッダーを必要としません。
例
この例では、現在のユーザーのドライブ内のファイルのバージョンを取得します。
要求
GET /me/drive/items/{item-id}/versions/{version-id}/content
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var stream = await graphClient.Me.Drive.Items["{driveItem-id}"].Versions["{driveItemVersion-id}"].Content
.Request()
.GetAsync();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
const options = {
authProvider,
};
const client = Client.init(options);
let stream = await client.api('/me/drive/items/{item-id}/versions/{version-id}/content')
.get();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/me/drive/items/{item-id}/versions/{version-id}/content"]]];
[urlRequest setHTTPMethod:@"GET"];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
MSGraphStream *stream = [[MSGraphStream alloc] initWithData:data error:&nserror];
}];
[meDataTask execute];
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
InputStream stream = graphClient.customRequest("/me/drive/items/{item-id}/versions/{version-id}/content", InputStream.class)
.buildRequest()
.get();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
応答
そのバージョンのコンテンツをダウンロードできる場所へのリダイレクトを返します。
HTTP/1.1 302 Found
Location: https://onedrive.com/34FF49D6...
OneDrive は、ファイルの旧バージョンの完全なメタデータを保持しません。
アプリがファイルで使用可能なバージョンの一覧を取得すると、特定のバージョンに関する利用可能な情報を提供する driveItemVersion リソースが返されます。