名前空間: microsoft.graph
重要
Microsoft Graph の /beta
バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
チームのコピーを作成します。 この操作により、対応する グループのコピーも作成されます。
複製するチームのどの部分を指定できます。
-
apps - チームにインストールされている Microsoft Teams アプリをコピーします。
-
channels – チャネル構造をコピーします (ただし、チャネル内のメッセージはコピーしません)。
-
members – グループのメンバーと所有者をコピーします。
-
settings – チーム内のすべての設定とキー グループ設定をコピーします。
-
tabs – チャネル内のタブをコピーします。
メモ:このメソッドは、organization全体のチームではサポートされていません。
注:
複製されたチームの所有者に関連する既知の問題は、このメソッドに関連付けられています。 詳細については、「既知の問題」を参照してください。
タブが複製されると、タブは構成されません。 タブは Microsoft Teams のタブ バーに表示され、ユーザーが初めてタブを開く場合は、構成画面を通過する必要があります。
タブを開いたユーザーにアプリを構成するためのアクセス許可がない場合は、タブが構成されていないことを示すメッセージが表示されます。
複製は実行時間の長い操作です。 POST クローンが返された後、ヘッダーからLocation:
返された操作を取得して、それが running
、succeeded
、または failed
かどうかを確認する必要があります。 状態が でない running
まで GET を続行する必要があります。 GET 間の推奨遅延は 5 秒です。
この API は、次の国内クラウド展開で使用できます。
グローバル サービス |
米国政府機関 L4 |
米国政府機関 L5 (DOD) |
21Vianet が運営する中国 |
✅ |
✅ |
✅ |
✅ |
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。
アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、 アクセス許可のリファレンスを参照してください。
アクセス許可の種類 |
最小特権アクセス許可 |
特権の高いアクセス許可 |
委任 (職場または学校のアカウント) |
Team.Create |
Directory.ReadWrite.All、Group.ReadWrite.All |
委任 (個人用 Microsoft アカウント) |
サポートされていません。 |
サポートされていません。 |
アプリケーション |
Team.Create |
Directory.ReadWrite.All、Group.ReadWrite.All |
注:
Group.ReadWrite.All および Directory.ReadWrite.All のアクセス許可は、下位互換性のためにのみサポートされます。 前の表に記載されている別のアクセス許可を使用するようにソリューションを更新し、今後これらのアクセス許可を使用しないようにすることをお勧めします。
HTTP 要求
POST /teams/{id}/clone
ヘッダー |
値 |
Authorization |
ベアラー {token}。 必須です。
認証と承認の詳細については、こちらをご覧ください。 |
Content-Type |
application/json |
要求本文
プロパティ |
型 |
説明 |
classification |
文字列 (省略可能) |
グループの分類 (低、中、高のビジネスへの影響など) について説明します。 このプロパティの有効な値は、テンプレート定義に基づいて ClassificationList 設定値 を作成することによって 定義されます。 分類が指定されていない場合、分類は元のチーム/グループからコピーされます。 |
説明 |
文字列 (省略可能) |
グループに関するオプションの説明。 このプロパティが指定されていない場合は、空白のままです。 |
displayName |
文字列 |
グループの表示名。 このプロパティは、グループが作成され、更新中にクリアできない場合に必要です。 $filter および $orderby をサポートします。 |
mailNickname |
String |
グループのメール エイリアスです (組織内で一意)。 このプロパティは、グループの作成時に指定する必要があります。 $filter をサポートします。 このプロパティが指定されていない場合は、displayName から計算されます。 既知の問題: このプロパティは現在無視されています。 |
partsToClone |
clonableTeamParts |
複製するパーツのコンマ区切りのリスト。 法的な部分は、"アプリ、タブ、設定、チャネル、メンバー" です。 |
visibility |
teamVisibilityType (省略可能) |
グループの可視性を指定します。 使用可能な値は、 Private、 Public です。 可視性が指定されていない場合、可視性は元のチーム/グループからコピーされます。 複製するチームが educationClass チームの場合、visibility パラメーターは無視され、新しいグループの可視性は HiddenMembership に設定されます。 |
注:
要求本文で description プロパティが指定されていない場合は、要求ペイロードから displayName プロパティの値を受け取ります。
応答
成功した場合、このメソッドは 202 Accepted
Location: ヘッダーが 操作 リソースを指す応答コードを返します。
操作が完了すると、作成されたチームの ID が操作リソースに通知されます。
例
要求
次の例は要求を示しています。
POST https://graph.microsoft.com/beta/teams/{id}/clone
Content-Type: application/json
{
"displayName": "Library Assist",
"description": "Self help community for library",
"mailNickname": "libassist",
"partsToClone": "apps,tabs,settings,channels,members",
"visibility": "public"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Teams.Item.Clone;
using Microsoft.Graph.Beta.Models;
var requestBody = new ClonePostRequestBody
{
DisplayName = "Library Assist",
Description = "Self help community for library",
MailNickname = "libassist",
PartsToClone = ClonableTeamParts.Apps | ClonableTeamParts.Tabs | ClonableTeamParts.Settings | ClonableTeamParts.Channels | ClonableTeamParts.Members,
Visibility = TeamVisibilityType.Public,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Teams["{team-id}"].Clone.PostAsync(requestBody);
mgc-beta teams clone post --team-id {team-id} --body '{\
"displayName": "Library Assist",\
"description": "Self help community for library",\
"mailNickname": "libassist",\
"partsToClone": "apps,tabs,settings,channels,members",\
"visibility": "public"\
}\
'
// 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"
graphteams "github.com/microsoftgraph/msgraph-beta-sdk-go/teams"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphteams.NewClonePostRequestBody()
displayName := "Library Assist"
requestBody.SetDisplayName(&displayName)
description := "Self help community for library"
requestBody.SetDescription(&description)
mailNickname := "libassist"
requestBody.SetMailNickname(&mailNickname)
partsToClone := graphmodels.APPS,TABS,SETTINGS,CHANNELS,MEMBERS_CLONABLETEAMPARTS
requestBody.SetPartsToClone(&partsToClone)
visibility := graphmodels.PUBLIC_TEAMVISIBILITYTYPE
requestBody.SetVisibility(&visibility)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Teams().ByTeamId("team-id").Clone().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.teams.item.clone.ClonePostRequestBody clonePostRequestBody = new com.microsoft.graph.beta.teams.item.clone.ClonePostRequestBody();
clonePostRequestBody.setDisplayName("Library Assist");
clonePostRequestBody.setDescription("Self help community for library");
clonePostRequestBody.setMailNickname("libassist");
clonePostRequestBody.setPartsToClone(EnumSet.of(ClonableTeamParts.Apps, ClonableTeamParts.Tabs, ClonableTeamParts.Settings, ClonableTeamParts.Channels, ClonableTeamParts.Members));
clonePostRequestBody.setVisibility(TeamVisibilityType.Public);
graphClient.teams().byTeamId("{team-id}").clone().post(clonePostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const clone = {
displayName: 'Library Assist',
description: 'Self help community for library',
mailNickname: 'libassist',
partsToClone: 'apps,tabs,settings,channels,members',
visibility: 'public'
};
await client.api('/teams/{id}/clone')
.version('beta')
.post(clone);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Teams\Item\Clone\ClonePostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\ClonableTeamParts;
use Microsoft\Graph\Beta\Generated\Models\TeamVisibilityType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ClonePostRequestBody();
$requestBody->setDisplayName('Library Assist');
$requestBody->setDescription('Self help community for library');
$requestBody->setMailNickname('libassist');
$requestBody->setPartsToClone(new ClonableTeamParts('apps,tabs,settings,channels,members'));
$requestBody->setVisibility(new TeamVisibilityType('public'));
$graphServiceClient->teams()->byTeamId('team-id')->escapedClone()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Teams
$params = @{
displayName = "Library Assist"
description = "Self help community for library"
mailNickname = "libassist"
partsToClone = "apps,tabs,settings,channels,members"
visibility = "public"
}
Copy-MgBetaTeam -TeamId $teamId -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.teams.item.clone.clone_post_request_body import ClonePostRequestBody
from msgraph_beta.generated.models.clonable_team_parts import ClonableTeamParts
from msgraph_beta.generated.models.team_visibility_type import TeamVisibilityType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ClonePostRequestBody(
display_name = "Library Assist",
description = "Self help community for library",
mail_nickname = "libassist",
parts_to_clone = ClonableTeamParts.Apps | ClonableTeamParts.Tabs | ClonableTeamParts.Settings | ClonableTeamParts.Channels | ClonableTeamParts.Members,
visibility = TeamVisibilityType.Public,
)
await graph_client.teams.by_team_id('team-id').clone.post(request_body)
応答
次の例は応答を示しています。 注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 202 Accepted
Location: /teams({id})/operations({opId})
Content-Type: text/plain
Content-Length: 0
関連コンテンツ
Microsoft Graph サービス固有の調整制限