driveItem: copy
[アーティクル]
02/08/2022
2 人の共同作成者
この記事の内容
名前空間: microsoft.graph
新しい親アイテムの下に、または新しい名前を指定して、driveItem (すべての子を含む) のコピーを非同期に作成します。
アクセス許可
この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可 」を参照してください。
アクセス許可の種類
アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント)
Files.ReadWrite、Files.ReadWrite.All、Sites.ReadWrite.All
委任 (個人用 Microsoft アカウント)
Files.ReadWrite、Files.ReadWrite.All
アプリケーション
Files.ReadWrite.All、Sites.ReadWrite.All
HTTP 要求
POST /drives/{driveId}/items/{itemId}/copy
POST /groups/{groupId}/drive/items/{itemId}/copy
POST /me/drive/items/{item-id}/copy
POST /sites/{siteId}/drive/items/{itemId}/copy
POST /users/{userId}/drive/items/{itemId}/copy
オプションのクエリ パラメーター
このメソッドは、競合が @microsoft.graph.conflictBehavior 発生した場合の動作をカスタマイズするためのクエリ パラメーターをサポートします。
値
説明
fail
既定の動作は、エラーを報告します。
replace
ターゲット サイトの既存のアイテムを上書きします。
rename
アイテムの名前を変更します。
注: ConflictBehavior は 、コンシューマー向けOneDriveされていません。
要求本文
要求本文で、次のパラメーターを含む JSON オブジェクトを指定します。
名前
値
説明
parentReference
ItemReference
省略可能。コピーが作成される親アイテムへの参照。
name
string
省略可能。コピーの新しい名前。これを指定しない場合は、元の名前と同じ名前が使用されます。
注: parentReference には、ターゲット フォルダーの driveId と id パラメーターを含める必要があります。
応答
要求の受け入れ時に、コピーの進行状況を監視する 方法についての詳細を返します。
例
この例では、{item-id} で識別されるファイルを driveId および id の値で識別されるフォルダーにコピーします。
ファイルの新しいコピーの名前は contoso plan (copy).txt になります。
要求
POST /me/drive/items/{item-id}/copy
Content-Type: application/json
{
"parentReference": {
"driveId": "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B",
"id": "DCD0D3AD-8989-4F23-A5A2-2C086050513F"
},
"name": "contoso plan (copy).txt"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var parentReference = new ItemReference
{
DriveId = "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B",
Id = "DCD0D3AD-8989-4F23-A5A2-2C086050513F"
};
var name = "contoso plan (copy).txt";
await graphClient.Me.Drive.Items["{driveItem-id}"]
.Copy(name,parentReference)
.Request()
.PostAsync();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
const options = {
authProvider,
};
const client = Client.init(options);
const driveItem = {
parentReference: {
driveId: '6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B',
id: 'DCD0D3AD-8989-4F23-A5A2-2C086050513F'
},
name: 'contoso plan (copy).txt'
};
await client.api('/me/drive/items/{item-id}/copy')
.post(driveItem);
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}/copy"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
MSGraphItemReference *parentReference = [[MSGraphItemReference alloc] init];
[parentReference setDriveId:@"6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B"];
[parentReference setId:@"DCD0D3AD-8989-4F23-A5A2-2C086050513F"];
payloadDictionary[@"parentReference"] = parentReference;
NSString *name = @"contoso plan (copy).txt";
payloadDictionary[@"name"] = name;
NSData *data = [NSJSONSerialization dataWithJSONObject:payloadDictionary options:kNilOptions error:&error];
[urlRequest setHTTPBody:data];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
ItemReference parentReference = new ItemReference();
parentReference.driveId = "6F7D00BF-FC4D-4E62-9769-6AEA81F3A21B";
parentReference.id = "DCD0D3AD-8989-4F23-A5A2-2C086050513F";
String name = "contoso plan (copy).txt";
graphClient.me().drive().items("{item-id}")
.copy(DriveItemCopyParameterSet
.newBuilder()
.withName(name)
.withParentReference(parentReference)
.build())
.buildRequest()
.post();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
応答
HTTP/1.1 202 Accepted
Location: https://contoso.sharepoint.com/_api/v2.0/monitor/4A3407B5-88FC-4504-8B21-0AABD3412717
Location ヘッダーの値は、コピー操作の現在の状況を返すサービスの URL を提供します。
この情報を使用して、 コピーがいつ終了したのか確認できます 。
多くの場合、コピー操作は非同期で実行されます。
API からの応答は、コピー操作が受け入れまたは拒否されたかどうかを示すのみです。たとえば、宛先ファイル名が既に使用されている場合などです。