名前空間: microsoft.graph
重要
Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
この API を使用して、管理単位にメンバー (ユーザー、グループ、またはデバイス) を追加するか、管理単位内に新しいグループを作成します。 すべての グループの種類 は、管理単位内で作成できます。
手記: 現時点では、一度に 1 つのメンバーを管理単位に追加することしかできません。
この API は、次の国内クラウド展開で使用できます。
| グローバル サービス |
米国政府機関 L4 |
米国政府機関 L5 (DOD) |
21Vianet が運営する中国 |
| ✅ |
✅ |
✅ |
✅ |
アクセス許可
この API を呼び出すには、次のいずれかのアクセス許可が必要です。 アクセス許可の選択方法などの詳細については、「アクセス許可」を参照してください。
既存のユーザー、グループ、またはデバイスを追加するためのアクセス許可
| アクセス許可の種類 |
アクセス許可 (特権の小さいものから大きいものへ) |
| 委任 (職場または学校のアカウント) |
AdministrativeUnit.ReadWrite.All |
| 委任 (個人用 Microsoft アカウント) |
サポートされていません。 |
| アプリケーション |
AdministrativeUnit.ReadWrite.All |
重要
職場または学校アカウントを使用した委任されたシナリオでは、サインインしているユーザーはメンバー ユーザーであるか、サポートされているMicrosoft Entraロールまたはサポートされているロールのアクセス許可を持つカスタム ロールを割り当てられている必要があります。
特権ロール管理者 は、この操作でサポートされる最小限の特権ロールです。
新しいグループを作成するためのアクセス許可
| アクセス許可の種類 |
アクセス許可 (特権の小さいものから大きいものへ) |
| 委任 (職場または学校のアカウント) |
Group.ReadWrite.All と ManagementUnit.Read.All、Directory.ReadWrite.All |
| 委任 (個人用 Microsoft アカウント) |
サポートされていません。 |
| アプリケーション |
Group.Create and ManagementUnit.Read.All、Group.ReadWrite.All、ManagementUnit.Read.All、Directory.ReadWrite.All |
重要
管理単位で新しいグループを作成するには、呼び出し元プリンシパルに、管理単位のスコープで次のMicrosoft Entraロールの少なくとも 1 つを割り当てる必要があります。
アプリのみのシナリオの場合 - これらのロールとは別に、サービス プリンシパルにはディレクトリを読み取るための追加のアクセス許可が必要です。 これらのアクセス許可は、ディレクトリ リーダー ロールなど、サポートされているMicrosoft Entraロールの割り当てによって付与できます。または、ディレクトリの読み取りを許可する Microsoft Graph アプリケーションのアクセス許可 (Directory.Read.All など) を使用して付与できます。
HTTP 要求
次の要求は、既存のユーザー、グループ、またはデバイスを管理単位に追加します。
POST /administrativeUnits/{id}/members/$ref
次の要求により、管理単位内に新しいグループが作成されます。
POST /administrativeUnits/{id}/members
| 名前 |
説明 |
| Authorization |
ベアラー {token}。 必須です。
認証と認可についての詳細をご覧ください。 |
| Content-type |
application/json. Required. |
既存のユーザーまたはグループの追加
要求本文で、追加する ユーザー、 グループ、 デバイス、または directoryObject の ID を指定します。 管理単位が制限付き管理管理単位 ("isMemberManagementRestricted": true) の場合、グループの種類はMicrosoft Entraセキュリティ グループである必要があります。 セキュリティが有効で、メールが有効ではなく、オンプレミスの同期が有効になっていない未修飾のグループのみがサポートされています。
新しいグループの作成
次の表は、管理単位で グループ を作成するときに指定するグループ リソースのプロパティを示しています。
| プロパティ |
型 |
説明 |
| displayName |
string |
アドレス帳に表示するグループの名前。 必須です。 |
| 説明 |
string |
グループの説明 省略可能。 |
| isAssignableToRole |
ブール値 |
グループをMicrosoft Entraロールに割り当てるには、true に設定します。 特権ロール管理者は、このプロパティの値を設定するための最小特権ロールです。 省略可能。 |
| mailEnabled |
ブール値 |
メールが有効なグループの場合は、true に設定します。 必須。 |
| mailNickname |
string |
グループのメール エイリアス。 これらの文字は、mailNickName: @()\[]";:.<>,SPACEでは使用できません。 必須です。 |
| securityEnabled |
ブール値 |
Microsoft 365 グループを含む、セキュリティが有効なグループに true を設定します。 必須です。 |
| owners |
directoryObject コレクション |
このプロパティは、作成時のグループの所有者を表します。 省略可能。 |
| members |
directoryObject コレクション |
このプロパティは、作成時のグループのメンバーを表します。 省略可能。 |
| visibility |
String |
Microsoft 365 グループの表示を指定します。 使用可能な値は、 Private、 Public、 HiddenMembership、または空 ( Publicとして解釈されます) です。 |
応答
成功した場合、( $refを使用して) 既存のオブジェクトを追加すると、応答コード 204 No Content 返されます。 応答本文では何も返されません。
( $refを使用せずに) 新しいグループを作成する場合、このメソッドは、応答本文に 201 Created 応答コードと グループ オブジェクトを返します。 応答には、そのグループの既定のプロパティのみが含まれます。 新しいメンバーをグループとして明示的に識別するには、要求本文に "@odata.type" : "#microsoft.graph.group" 行を指定する必要があります。 正しい @odata.type を持たない要求本文は、 400 Bad Request エラー メッセージを返します。
例
例 1: 既存のユーザーまたはグループを追加する
次に、既存のユーザーまたはグループを管理単位に追加します。
要求
次の例は要求を示しています。
POST https://graph.microsoft.com/beta/administrativeUnits/{id}/members/$ref
Content-type: application/json
{
"@odata.id":"https://graph.microsoft.com/beta/groups/{id}"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new ReferenceCreate
{
OdataId = "https://graph.microsoft.com/beta/groups/{id}",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.AdministrativeUnits["{administrativeUnit-id}"].Members.Ref.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.NewReferenceCreate()
odataId := "https://graph.microsoft.com/beta/groups/{id}"
requestBody.SetOdataId(&odataId)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.AdministrativeUnits().ByAdministrativeUnitId("administrativeUnit-id").Members().Ref().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.models.ReferenceCreate referenceCreate = new com.microsoft.graph.beta.models.ReferenceCreate();
referenceCreate.setOdataId("https://graph.microsoft.com/beta/groups/{id}");
graphClient.administrativeUnits().byAdministrativeUnitId("{administrativeUnit-id}").members().ref().post(referenceCreate);
const options = {
authProvider,
};
const client = Client.init(options);
const directoryObject = {
'@odata.id':'https://graph.microsoft.com/beta/groups/{id}'
};
await client.api('/administrativeUnits/{id}/members/$ref')
.version('beta')
.post(directoryObject);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\ReferenceCreate;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ReferenceCreate();
$requestBody->setOdataId('https://graph.microsoft.com/beta/groups/{id}');
$graphServiceClient->administrativeUnits()->byAdministrativeUnitId('administrativeUnit-id')->members()->ref()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
"@odata.id" = "https://graph.microsoft.com/beta/groups/{id}"
}
New-MgBetaAdministrativeUnitMemberByRef -AdministrativeUnitId $administrativeUnitId -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.reference_create import ReferenceCreate
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ReferenceCreate(
odata_id = "https://graph.microsoft.com/beta/groups/{id}",
)
await graph_client.administrative_units.by_administrative_unit_id('administrativeUnit-id').members.ref.post(request_body)
要求本文で、追加するユーザー、グループ、またはデバイス オブジェクトのidを指定します。
応答
次の例は応答を示しています。
HTTP/1.1 204 No Content
例 2: 新しいグループを作成する
次の例では、管理単位に新しいグループを作成します。 新しいメンバーをグループとして明示的に識別するには、要求本文に "@odata.type" : "#microsoft.graph.group" 行を指定する必要があります。 正しい @odata.type を持たない要求本文は、 400 Bad Request エラー メッセージを返します。
要求
次の例は要求を示しています。
POST https://graph.microsoft.com/beta/administrativeUnits/{id}/members
Content-type: application/json
{
"@odata.type": "#microsoft.graph.group",
"description": "Self help community for golf",
"displayName": "Golf Assist",
"groupTypes": [
"Unified"
],
"mailEnabled": true,
"mailNickname": "golfassist",
"securityEnabled": false
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new Group
{
OdataType = "#microsoft.graph.group",
Description = "Self help community for golf",
DisplayName = "Golf Assist",
GroupTypes = new List<string>
{
"Unified",
},
MailEnabled = true,
MailNickname = "golfassist",
SecurityEnabled = false,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.AdministrativeUnits["{administrativeUnit-id}"].Members.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.NewDirectoryObject()
description := "Self help community for golf"
requestBody.SetDescription(&description)
displayName := "Golf Assist"
requestBody.SetDisplayName(&displayName)
groupTypes := []string {
"Unified",
}
requestBody.SetGroupTypes(groupTypes)
mailEnabled := true
requestBody.SetMailEnabled(&mailEnabled)
mailNickname := "golfassist"
requestBody.SetMailNickname(&mailNickname)
securityEnabled := false
requestBody.SetSecurityEnabled(&securityEnabled)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
members, err := graphClient.AdministrativeUnits().ByAdministrativeUnitId("administrativeUnit-id").Members().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Group directoryObject = new Group();
directoryObject.setOdataType("#microsoft.graph.group");
directoryObject.setDescription("Self help community for golf");
directoryObject.setDisplayName("Golf Assist");
LinkedList<String> groupTypes = new LinkedList<String>();
groupTypes.add("Unified");
directoryObject.setGroupTypes(groupTypes);
directoryObject.setMailEnabled(true);
directoryObject.setMailNickname("golfassist");
directoryObject.setSecurityEnabled(false);
DirectoryObject result = graphClient.administrativeUnits().byAdministrativeUnitId("{administrativeUnit-id}").members().post(directoryObject);
const options = {
authProvider,
};
const client = Client.init(options);
const directoryObject = {
'@odata.type': '#microsoft.graph.group',
description: 'Self help community for golf',
displayName: 'Golf Assist',
groupTypes: [
'Unified'
],
mailEnabled: true,
mailNickname: 'golfassist',
securityEnabled: false
};
await client.api('/administrativeUnits/{id}/members')
.version('beta')
.post(directoryObject);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Group;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Group();
$requestBody->setOdataType('#microsoft.graph.group');
$requestBody->setDescription('Self help community for golf');
$requestBody->setDisplayName('Golf Assist');
$requestBody->setGroupTypes(['Unified', ]);
$requestBody->setMailEnabled(true);
$requestBody->setMailNickname('golfassist');
$requestBody->setSecurityEnabled(false);
$result = $graphServiceClient->administrativeUnits()->byAdministrativeUnitId('administrativeUnit-id')->members()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
"@odata.type" = "#microsoft.graph.group"
description = "Self help community for golf"
displayName = "Golf Assist"
groupTypes = @(
"Unified"
)
mailEnabled = $true
mailNickname = "golfassist"
securityEnabled = $false
}
New-MgBetaAdministrativeUnitMember -AdministrativeUnitId $administrativeUnitId -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.group import Group
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Group(
odata_type = "#microsoft.graph.group",
description = "Self help community for golf",
display_name = "Golf Assist",
group_types = [
"Unified",
],
mail_enabled = True,
mail_nickname = "golfassist",
security_enabled = False,
)
result = await graph_client.administrative_units.by_administrative_unit_id('administrativeUnit-id').members.post(request_body)
要求本文で、追加する グループ オブジェクトのプロパティを指定します。
応答
次の例は応答を示しています。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#groups/$entity",
"id": "45b7d2e7-b882-4a80-ba97-10b7a63b8fa4",
"deletedDateTime": null,
"classification": null,
"createdDateTime": "2018-12-22T02:21:05Z",
"description": "Self help community for golf",
"displayName": "Golf Assist",
"expirationDateTime": null,
"groupTypes": [
"Unified"
],
"isAssignableToRole": null,
"mail": "golfassist@contoso.com",
"mailEnabled": true,
"mailNickname": "golfassist",
"membershipRule": null,
"membershipRuleProcessingState": null,
"onPremisesLastSyncDateTime": null,
"onPremisesSecurityIdentifier": null,
"onPremisesSyncEnabled": null,
"preferredDataLocation": "CAN",
"preferredLanguage": null,
"proxyAddresses": [
"SMTP:golfassist@contoso.com"
],
"renewedDateTime": "2018-12-22T02:21:05Z",
"resourceBehaviorOptions": [],
"resourceProvisioningOptions": [],
"securityEnabled": false,
"securityIdentifier": "S-1-12-1-1753967289-1089268234-832641959-555555555",
"theme": null,
"visibility": "Public",
"onPremisesProvisioningErrors": []
}