ドライブに新しいフォルダーを作成する
[アーティクル]
09/13/2021
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/{drive-id}/items/{parent-item-id}/children
POST /groups/{group-id}/drive/items/{parent-item-id}/children
POST /me/drive/items/{parent-item-id}/children
POST /sites/{site-id}/drive/items/{parent-item-id}/children
POST /users/{user-id}/drive/items/{parent-item-id}/children
要求本文
要求本文で、作成する DriveItem リソースの JSON 表記を指定します。
応答
成功した場合、このメソッドは 201 Created 応答コードと、応答本文で Driveitem リソースを返します。
例
要求
以下は、サインイン ユーザーの OneDrive のルート フォルダーに新しいフォルダーを作成する要求の例です。
使用されている @microsoft.graph.conflictBehavior プロパティは、同じ名前のアイテムが既に存在する場合に、サービスはフォルダーを作成する際にフォルダーの新しい名前を選択する必要があることを示します。
POST /me/drive/root/children
Content-Type: application/json
{
"name": "New Folder",
"folder": { },
"@microsoft.graph.conflictBehavior": "rename"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var driveItem = new DriveItem
{
Name = "New Folder",
Folder = new Folder
{
},
AdditionalData = new Dictionary<string, object>()
{
{"@microsoft.graph.conflictBehavior", "rename"}
}
};
await graphClient.Me.Drive.Root.Children
.Request()
.AddAsync(driveItem);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
const options = {
authProvider,
};
const client = Client.init(options);
const driveItem = {
name: 'New Folder',
folder: { },
'@microsoft.graph.conflictBehavior': 'rename'
};
await client.api('/me/drive/root/children')
.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/root/children"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphDriveItem *driveItem = [[MSGraphDriveItem alloc] init];
[driveItem setName:@"New Folder"];
MSGraphFolder *folder = [[MSGraphFolder alloc] init];
[driveItem setFolder:folder];
[driveItem set@microsoft.graph.conflictBehavior:@"rename"];
NSError *error;
NSData *driveItemData = [driveItem getSerializedDataWithError:&error];
[urlRequest setHTTPBody:driveItemData];
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();
DriveItem driveItem = new DriveItem();
driveItem.name = "New Folder";
Folder folder = new Folder();
driveItem.folder = folder;
driveItem.additionalDataManager().put("@microsoft.graph.conflictBehavior", new JsonPrimitive("rename"));
graphClient.me().drive().root().children()
.buildRequest()
.post(driveItem);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
応答
成功した場合、このメソッドでは新しく作成されたフォルダーを DriveItem リソースとして返します。
HTTP/1.1 201 Created
Content-Type: application/json
{
"createdBy": {
"user": {
"displayName": "Ryan Gregg",
"id": "309EC495-3E92-431D-9124-F0299633171D"
}
},
"createdDateTime": "2016-09-20T14:34:00Z",
"eTag": "343F1FBD-E9B3-4DDE-BCA7-D61AEAFF44E5,1",
"id": "ACEA49D1-1444-45A9-A1CB-68B1B28AE491",
"lastModifiedBy": {
"user": {
"displayName": "Ryan Gregg",
"id": "309EC495-3E92-431D-9124-F0299633171D"
}
},
"lastModifiedDateTime": "2016-09-20T14:34:00Z",
"name": "New Folder",
"parentReference": {
"driveId": "5FE38E3C-051C-4D55-9B83-8A437658275B",
"id": "E67A8F34-B0AA-46E1-8FF7-0750A29553DF",
"path": "/drive/root:/"
},
"size": 0,
"folder": {
"childCount": 0
}
}
エラー応答
エラーがどのように返されるかについては、「エラー応答 」を参照してください。