名前空間: microsoft.graph
重要
Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
ユーザーのドライブに新しい バンドル を追加します。
この API は、次の国内クラウド展開で使用できます。
| グローバル サービス |
米国政府機関 L4 |
米国政府機関 L5 (DOD) |
21Vianet が運営する中国 |
| ✅ |
✅ |
✅ |
✅ |
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。
アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。
| アクセス許可の種類 |
最小特権アクセス許可 |
より高い特権のアクセス許可 |
| 委任 (職場または学校のアカウント) |
サポートされていません。 |
サポートされていません。 |
| 委任 (個人用 Microsoft アカウント) |
Files.ReadWrite |
Files.ReadWrite.All |
| アプリケーション |
サポートされていません。 |
サポートされていません。 |
HTTP 要求
POST /drive/bundles
| 名前 |
説明 |
| Authorization |
ベアラー {token}。 必須です。
認証と認可についての詳細をご覧ください。 |
要求本文
要求本文で、作成するバンドルの JSON 表現を指定します。
応答
要求が成功すると、新しく作成されたバンドルを表す driveItem が返されます。
エラーがどのように返されるかについては、「エラー応答」のトピックを参照してください。
例
例 1: バンドルを作成する
次の例は、基本的な新しいバンドルを作成する方法を示しています。
この要求により、 Just some files という名前の新しいバンドルが作成され、2 つの既存の項目がバンドルに追加されます。
このバンドルを使用すると、それらのアイテムが格納されているフォルダーを共有せずに、ファイルのコレクションを他のユーザーと共有できます。
要求
次の例は要求を示しています。
POST https://graph.microsoft.com/beta/drive/bundles
Content-Type: application/json
{
"name": "Just some files",
"@microsoft.graph.conflictBehavior" : "rename",
"bundle": { },
"children": [
{ "id": "1234asdf" },
{ "id": "1234qwerty" }
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new DriveItem
{
Name = "Just some files",
Bundle = new Bundle
{
},
Children = new List<DriveItem>
{
new DriveItem
{
Id = "1234asdf",
},
new DriveItem
{
Id = "1234qwerty",
},
},
AdditionalData = new Dictionary<string, object>
{
{
"@microsoft.graph.conflictBehavior" , "rename"
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Drives["{drive-id}"].Bundles.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewDriveItem()
name := "Just some files"
requestBody.SetName(&name)
bundle := graphmodels.NewBundle()
requestBody.SetBundle(bundle)
driveItem := graphmodels.NewDriveItem()
id := "1234asdf"
driveItem.SetId(&id)
driveItem1 := graphmodels.NewDriveItem()
id := "1234qwerty"
driveItem1.SetId(&id)
children := []graphmodels.DriveItemable {
driveItem,
driveItem1,
}
requestBody.SetChildren(children)
additionalData := map[string]interface{}{
"@microsoft.graph.conflictBehavior" : "rename",
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
bundles, err := graphClient.Drives().ByDriveId("drive-id").Bundles().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
DriveItem driveItem = new DriveItem();
driveItem.setName("Just some files");
Bundle bundle = new Bundle();
driveItem.setBundle(bundle);
LinkedList<DriveItem> children = new LinkedList<DriveItem>();
DriveItem driveItem1 = new DriveItem();
driveItem1.setId("1234asdf");
children.add(driveItem1);
DriveItem driveItem2 = new DriveItem();
driveItem2.setId("1234qwerty");
children.add(driveItem2);
driveItem.setChildren(children);
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("@microsoft.graph.conflictBehavior", "rename");
driveItem.setAdditionalData(additionalData);
DriveItem result = graphClient.drives().byDriveId("{drive-id}").bundles().post(driveItem);
const options = {
authProvider,
};
const client = Client.init(options);
const driveItem = {
name: 'Just some files',
'@microsoft.graph.conflictBehavior': 'rename',
bundle: { },
children: [
{ id: '1234asdf' },
{ id: '1234qwerty' }
]
};
await client.api('/drive/bundles')
.version('beta')
.post(driveItem);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\DriveItem;
use Microsoft\Graph\Beta\Generated\Models\Bundle;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new DriveItem();
$requestBody->setName('Just some files');
$bundle = new Bundle();
$requestBody->setBundle($bundle);
$childrenDriveItem1 = new DriveItem();
$childrenDriveItem1->setId('1234asdf');
$childrenArray []= $childrenDriveItem1;
$childrenDriveItem2 = new DriveItem();
$childrenDriveItem2->setId('1234qwerty');
$childrenArray []= $childrenDriveItem2;
$requestBody->setChildren($childrenArray);
$additionalData = [
'@microsoft.graph.conflictBehavior' => 'rename',
];
$requestBody->setAdditionalData($additionalData);
$result = $graphServiceClient->drives()->byDriveId('drive-id')->bundles()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Files
$params = @{
name = "Just some files"
"@microsoft.graph.conflictBehavior" = "rename"
bundle = @{
}
children = @(
@{
id = "1234asdf"
}
@{
id = "1234qwerty"
}
)
}
New-MgBetaDriveBundle -DriveId $driveId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.drive_item import DriveItem
from msgraph_beta.generated.models.bundle import Bundle
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = DriveItem(
name = "Just some files",
bundle = Bundle(
),
children = [
DriveItem(
id = "1234asdf",
),
DriveItem(
id = "1234qwerty",
),
],
additional_data = {
"@microsoft_graph_conflict_behavior" : "rename",
}
)
result = await graph_client.drives.by_drive_id('drive-id').bundles.post(request_body)
応答
次の例は応答を示しています。
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "1234321!abc",
"name": "Just some files",
"bundle": {
"childCount": 2
}
}
ここに示す応答オブジェクトは、読みやすさのために短縮されている可能性があります。
例 2: アルバムを作成する
新しいフォト アルバムを作成する要求は似ていますが、バンドル ファセット内では、アルバム プロパティは null 以外の値に設定されます。
要求
次の例は要求を示しています。
POST https://graph.microsoft.com/beta/drive/bundles
Content-Type: application/json
{
"name": "My Day at the Beach",
"@microsoft.graph.conflictBehavior" : "rename",
"bundle": { "album": {} },
"children": [
{ "id": "1234asdf" }
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new DriveItem
{
Name = "My Day at the Beach",
Bundle = new Bundle
{
Album = new Album
{
},
},
Children = new List<DriveItem>
{
new DriveItem
{
Id = "1234asdf",
},
},
AdditionalData = new Dictionary<string, object>
{
{
"@microsoft.graph.conflictBehavior" , "rename"
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Drives["{drive-id}"].Bundles.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewDriveItem()
name := "My Day at the Beach"
requestBody.SetName(&name)
bundle := graphmodels.NewBundle()
album := graphmodels.NewAlbum()
bundle.SetAlbum(album)
requestBody.SetBundle(bundle)
driveItem := graphmodels.NewDriveItem()
id := "1234asdf"
driveItem.SetId(&id)
children := []graphmodels.DriveItemable {
driveItem,
}
requestBody.SetChildren(children)
additionalData := map[string]interface{}{
"@microsoft.graph.conflictBehavior" : "rename",
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
bundles, err := graphClient.Drives().ByDriveId("drive-id").Bundles().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
DriveItem driveItem = new DriveItem();
driveItem.setName("My Day at the Beach");
Bundle bundle = new Bundle();
Album album = new Album();
bundle.setAlbum(album);
driveItem.setBundle(bundle);
LinkedList<DriveItem> children = new LinkedList<DriveItem>();
DriveItem driveItem1 = new DriveItem();
driveItem1.setId("1234asdf");
children.add(driveItem1);
driveItem.setChildren(children);
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("@microsoft.graph.conflictBehavior", "rename");
driveItem.setAdditionalData(additionalData);
DriveItem result = graphClient.drives().byDriveId("{drive-id}").bundles().post(driveItem);
const options = {
authProvider,
};
const client = Client.init(options);
const driveItem = {
name: 'My Day at the Beach',
'@microsoft.graph.conflictBehavior': 'rename',
bundle: { album: {} },
children: [
{ id: '1234asdf' }
]
};
await client.api('/drive/bundles')
.version('beta')
.post(driveItem);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\DriveItem;
use Microsoft\Graph\Beta\Generated\Models\Bundle;
use Microsoft\Graph\Beta\Generated\Models\Album;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new DriveItem();
$requestBody->setName('My Day at the Beach');
$bundle = new Bundle();
$bundleAlbum = new Album();
$bundle->setAlbum($bundleAlbum);
$requestBody->setBundle($bundle);
$childrenDriveItem1 = new DriveItem();
$childrenDriveItem1->setId('1234asdf');
$childrenArray []= $childrenDriveItem1;
$requestBody->setChildren($childrenArray);
$additionalData = [
'@microsoft.graph.conflictBehavior' => 'rename',
];
$requestBody->setAdditionalData($additionalData);
$result = $graphServiceClient->drives()->byDriveId('drive-id')->bundles()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Files
$params = @{
name = "My Day at the Beach"
"@microsoft.graph.conflictBehavior" = "rename"
bundle = @{
album = @{
}
}
children = @(
@{
id = "1234asdf"
}
)
}
New-MgBetaDriveBundle -DriveId $driveId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.drive_item import DriveItem
from msgraph_beta.generated.models.bundle import Bundle
from msgraph_beta.generated.models.album import Album
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = DriveItem(
name = "My Day at the Beach",
bundle = Bundle(
album = Album(
),
),
children = [
DriveItem(
id = "1234asdf",
),
],
additional_data = {
"@microsoft_graph_conflict_behavior" : "rename",
}
)
result = await graph_client.drives.by_drive_id('drive-id').bundles.post(request_body)
応答
次の例は応答を示しています。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "1234321!abc",
"name": "Just some files",
"bundle": {
"childCount": 2,
"album": { }
}
}
@microsoft.graph.conflictBehavior が名前変更に設定されていて、同じ名前のバンドルが既に存在する場合、新しいバンドル名が一意に更新されます。
OneDrive は、バンドル名の末尾に数値を追加します。
たとえば、My Day at the Beach は My Day at the Beach 1 に名前が変更されます。
My Day at the Beach 1が取得された場合、一意のバンドル名が検出されるまで、数値は再びインクリメントされます。