Espace de noms: microsoft.graph
Créez une nouvelle fonctionnalité inter-locataires Microsoft 365 pour une organisation partenaire dans la stratégie d’accès inter-locataires. La propriété @odata.type dans le corps de la requête est requise pour spécifier le type de capacité à créer.
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme étant les moins privilégiées pour cette API. Utilisez une ou plusieurs autorisations privilégiées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, voir Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez la référence des autorisations.
| Type d’autorisation |
Autorisations les moins privilégiées |
Autorisations à privilèges plus élevés |
| Déléguée (compte professionnel ou scolaire) |
Policy.ReadWrite.CrossTenantCapability |
Non disponible. |
| Déléguée (compte Microsoft personnel) |
Non prise en charge. |
Non prise en charge. |
| Application |
Policy.ReadWrite.CrossTenantCapability |
Non disponible. |
Importante
Pour l’accès délégué à l’aide de comptes professionnels ou scolaires où l’utilisateur connecté agit sur un autre utilisateur, un rôle Microsoft Entra pris en charge ou un rôle personnalisé qui accorde les autorisations requises pour cette opération doivent lui être attribué. La gestion des fonctionnalités inter-locataires de Microsoft 365 affecte l’ensemble de la stratégie d’accès inter-locataires, de sorte qu’aucun rôle intégré à privilèges inférieurs ne couvre toutes les fonctionnalités. Cette opération prend en charge les rôles intégrés suivants :
- Administrateur général : obligatoire pour toutes les fonctionnalités, car la gestion de la stratégie d’accès entre locataires nécessite des privilèges à l’échelle du répertoire.
- Administrateur Exchange : prise en charge uniquement pour les fonctionnalités Infos-courrier, Partage Calendar et Disponibilité.
Requête HTTP
POST /policies/crossTenantAccessPolicy/partners/{crossTenantAccessPolicyConfigurationPartner-id}/m365Capabilities
Corps de la demande
Dans le corps de la demande, fournissez une représentation JSON d’un type dérivé de m365CapabilityBase. La propriété @odata.type est requise pour spécifier le type de capacité.
Vous pouvez spécifier les propriétés suivantes lorsque vous créez une fonctionnalité m365CapabilityBase .
| Propriété |
Type |
Description |
| @odata.type |
String |
Type de capacité à créer. Obligatoire. Exemples de valeurs : #microsoft.graph.crossTenantOpenProfileCard, #microsoft.graph.crossTenantMigration |
| inboundAccess |
m365CapabilityInboundAccess |
Paramètres d’accès entrant de la fonctionnalité. Obligatoire. |
Réponse
En cas de succès, cette méthode renvoie un 201 Created code de réponse et l’objet de capacité créé dans le corps de la réponse.
Exemples
Exemple 1 : créer une fonctionnalité d’infos-courrier inter-clients
L’exemple suivant montre comment créer une fonctionnalité d’infos-courrier inter-locataires .
Demande
L’exemple suivant illustre une demande.
POST https://graph.microsoft.com/v1.0/policies/crossTenantAccessPolicy/partners/af7b70b0-d161-4628-82b4-16190344c029/m365Capabilities
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.crossTenantMailTipsLimited",
"inboundAccess": {
"isAllowed": false,
"resourceScopes": {
"included": [
{
"resourceId": "ad4fc698-74dc-4f62-9e71-ba9b591e8e74",
"resourceType": "group"
}
],
"excluded": []
}
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new CrossTenantMailTipsLimited
{
OdataType = "#microsoft.graph.crossTenantMailTipsLimited",
InboundAccess = new M365CapabilityInboundAccess
{
IsAllowed = false,
ResourceScopes = new M365CapabilityResourceScopes
{
Included = new List<M365CapabilityResourceScope>
{
new M365CapabilityResourceScope
{
ResourceId = "ad4fc698-74dc-4f62-9e71-ba9b591e8e74",
ResourceType = M365ResourceType.Group,
},
},
Excluded = new List<M365CapabilityResourceScope>
{
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Policies.CrossTenantAccessPolicy.Partners["{crossTenantAccessPolicyConfigurationPartner-tenantId}"].M365Capabilities.PostAsync(requestBody);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewM365CapabilityBase()
inboundAccess := graphmodels.NewM365CapabilityInboundAccess()
isAllowed := false
inboundAccess.SetIsAllowed(&isAllowed)
resourceScopes := graphmodels.NewM365CapabilityResourceScopes()
m365CapabilityResourceScope := graphmodels.NewM365CapabilityResourceScope()
resourceId := "ad4fc698-74dc-4f62-9e71-ba9b591e8e74"
m365CapabilityResourceScope.SetResourceId(&resourceId)
resourceType := graphmodels.GROUP_M365RESOURCETYPE
m365CapabilityResourceScope.SetResourceType(&resourceType)
included := []graphmodels.M365CapabilityResourceScopeable {
m365CapabilityResourceScope,
}
resourceScopes.SetIncluded(included)
excluded := []graphmodels.M365CapabilityResourceScopeable {
}
resourceScopes.SetExcluded(excluded)
inboundAccess.SetResourceScopes(resourceScopes)
requestBody.SetInboundAccess(inboundAccess)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
m365Capabilities, err := graphClient.Policies().CrossTenantAccessPolicy().Partners().ByCrossTenantAccessPolicyConfigurationPartnerTenantId("crossTenantAccessPolicyConfigurationPartner-tenantId").M365Capabilities().Post(context.Background(), requestBody, nil)
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
CrossTenantMailTipsLimited m365CapabilityBase = new CrossTenantMailTipsLimited();
m365CapabilityBase.setOdataType("#microsoft.graph.crossTenantMailTipsLimited");
M365CapabilityInboundAccess inboundAccess = new M365CapabilityInboundAccess();
inboundAccess.setIsAllowed(false);
M365CapabilityResourceScopes resourceScopes = new M365CapabilityResourceScopes();
LinkedList<M365CapabilityResourceScope> included = new LinkedList<M365CapabilityResourceScope>();
M365CapabilityResourceScope m365CapabilityResourceScope = new M365CapabilityResourceScope();
m365CapabilityResourceScope.setResourceId("ad4fc698-74dc-4f62-9e71-ba9b591e8e74");
m365CapabilityResourceScope.setResourceType(M365ResourceType.Group);
included.add(m365CapabilityResourceScope);
resourceScopes.setIncluded(included);
LinkedList<M365CapabilityResourceScope> excluded = new LinkedList<M365CapabilityResourceScope>();
resourceScopes.setExcluded(excluded);
inboundAccess.setResourceScopes(resourceScopes);
m365CapabilityBase.setInboundAccess(inboundAccess);
M365CapabilityBase result = graphClient.policies().crossTenantAccessPolicy().partners().byCrossTenantAccessPolicyConfigurationPartnerTenantId("{crossTenantAccessPolicyConfigurationPartner-tenantId}").m365Capabilities().post(m365CapabilityBase);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
const options = {
authProvider,
};
const client = Client.init(options);
const m365CapabilityBase = {
'@odata.type': '#microsoft.graph.crossTenantMailTipsLimited',
inboundAccess: {
isAllowed: false,
resourceScopes: {
included: [
{
resourceId: 'ad4fc698-74dc-4f62-9e71-ba9b591e8e74',
resourceType: 'group'
}
],
excluded: []
}
}
};
await client.api('/policies/crossTenantAccessPolicy/partners/af7b70b0-d161-4628-82b4-16190344c029/m365Capabilities')
.post(m365CapabilityBase);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\CrossTenantMailTipsLimited;
use Microsoft\Graph\Generated\Models\M365CapabilityInboundAccess;
use Microsoft\Graph\Generated\Models\M365CapabilityResourceScopes;
use Microsoft\Graph\Generated\Models\M365CapabilityResourceScope;
use Microsoft\Graph\Generated\Models\M365ResourceType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CrossTenantMailTipsLimited();
$requestBody->setOdataType('#microsoft.graph.crossTenantMailTipsLimited');
$inboundAccess = new M365CapabilityInboundAccess();
$inboundAccess->setIsAllowed(false);
$inboundAccessResourceScopes = new M365CapabilityResourceScopes();
$includedM365CapabilityResourceScope1 = new M365CapabilityResourceScope();
$includedM365CapabilityResourceScope1->setResourceId('ad4fc698-74dc-4f62-9e71-ba9b591e8e74');
$includedM365CapabilityResourceScope1->setResourceType(new M365ResourceType('group'));
$includedArray []= $includedM365CapabilityResourceScope1;
$inboundAccessResourceScopes->setIncluded($includedArray);
$inboundAccessResourceScopes->setExcluded([]);
$inboundAccess->setResourceScopes($inboundAccessResourceScopes);
$requestBody->setInboundAccess($inboundAccess);
$result = $graphServiceClient->policies()->crossTenantAccessPolicy()->partners()->byCrossTenantAccessPolicyConfigurationPartnerTenantId('crossTenantAccessPolicyConfigurationPartner-tenantId')->m365Capabilities()->post($requestBody)->wait();
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.cross_tenant_mail_tips_limited import CrossTenantMailTipsLimited
from msgraph.generated.models.m365_capability_inbound_access import M365CapabilityInboundAccess
from msgraph.generated.models.m365_capability_resource_scopes import M365CapabilityResourceScopes
from msgraph.generated.models.m365_capability_resource_scope import M365CapabilityResourceScope
from msgraph.generated.models.m365_resource_type import M365ResourceType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CrossTenantMailTipsLimited(
odata_type = "#microsoft.graph.crossTenantMailTipsLimited",
inbound_access = M365CapabilityInboundAccess(
is_allowed = False,
resource_scopes = M365CapabilityResourceScopes(
included = [
M365CapabilityResourceScope(
resource_id = "ad4fc698-74dc-4f62-9e71-ba9b591e8e74",
resource_type = M365ResourceType.Group,
),
],
excluded = [
],
),
),
)
result = await graph_client.policies.cross_tenant_access_policy.partners.by_cross_tenant_access_policy_configuration_partner_tenant_id('crossTenantAccessPolicyConfigurationPartner-tenantId').m365_capabilities.post(request_body)
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
Réponse
L’exemple suivant illustre la réponse.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.crossTenantMailTipsLimited",
"name": "crossTenantMailTipsLimited",
"lastModifiedDateTime": "2026-01-15T09:57:58.6364196Z",
"inboundAccess": {
"isAllowed": false,
"resourceScopes": {
"included": [
{
"resourceId": "ad4fc698-74dc-4f62-9e71-ba9b591e8e74",
"resourceType": "group"
}
],
"excluded": []
}
}
}
Exemple 2 : créer une capacité de réservation de salle de lieux entre locataires
L’exemple suivant montre comment créer une capacité de réservation de salles entre locataires .
Demande
L’exemple suivant illustre une demande.
POST https://graph.microsoft.com/v1.0/policies/crossTenantAccessPolicy/partners/af7b70b0-d161-4628-82b4-16190344c029/m365Capabilities
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.crossTenantPlacesRoomBooking",
"inboundAccess": {
"isAllowed": true,
"resourceScopes": {
"included": [
{
"resourceId": "ad4fc698-74dc-4f62-9e71-ba9b591e8e74",
"resourceType": "group"
}
],
"excluded": []
}
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new CrossTenantPlacesRoomBooking
{
OdataType = "#microsoft.graph.crossTenantPlacesRoomBooking",
InboundAccess = new M365CapabilityInboundAccess
{
IsAllowed = true,
ResourceScopes = new M365CapabilityResourceScopes
{
Included = new List<M365CapabilityResourceScope>
{
new M365CapabilityResourceScope
{
ResourceId = "ad4fc698-74dc-4f62-9e71-ba9b591e8e74",
ResourceType = M365ResourceType.Group,
},
},
Excluded = new List<M365CapabilityResourceScope>
{
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Policies.CrossTenantAccessPolicy.Partners["{crossTenantAccessPolicyConfigurationPartner-tenantId}"].M365Capabilities.PostAsync(requestBody);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewM365CapabilityBase()
inboundAccess := graphmodels.NewM365CapabilityInboundAccess()
isAllowed := true
inboundAccess.SetIsAllowed(&isAllowed)
resourceScopes := graphmodels.NewM365CapabilityResourceScopes()
m365CapabilityResourceScope := graphmodels.NewM365CapabilityResourceScope()
resourceId := "ad4fc698-74dc-4f62-9e71-ba9b591e8e74"
m365CapabilityResourceScope.SetResourceId(&resourceId)
resourceType := graphmodels.GROUP_M365RESOURCETYPE
m365CapabilityResourceScope.SetResourceType(&resourceType)
included := []graphmodels.M365CapabilityResourceScopeable {
m365CapabilityResourceScope,
}
resourceScopes.SetIncluded(included)
excluded := []graphmodels.M365CapabilityResourceScopeable {
}
resourceScopes.SetExcluded(excluded)
inboundAccess.SetResourceScopes(resourceScopes)
requestBody.SetInboundAccess(inboundAccess)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
m365Capabilities, err := graphClient.Policies().CrossTenantAccessPolicy().Partners().ByCrossTenantAccessPolicyConfigurationPartnerTenantId("crossTenantAccessPolicyConfigurationPartner-tenantId").M365Capabilities().Post(context.Background(), requestBody, nil)
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
CrossTenantPlacesRoomBooking m365CapabilityBase = new CrossTenantPlacesRoomBooking();
m365CapabilityBase.setOdataType("#microsoft.graph.crossTenantPlacesRoomBooking");
M365CapabilityInboundAccess inboundAccess = new M365CapabilityInboundAccess();
inboundAccess.setIsAllowed(true);
M365CapabilityResourceScopes resourceScopes = new M365CapabilityResourceScopes();
LinkedList<M365CapabilityResourceScope> included = new LinkedList<M365CapabilityResourceScope>();
M365CapabilityResourceScope m365CapabilityResourceScope = new M365CapabilityResourceScope();
m365CapabilityResourceScope.setResourceId("ad4fc698-74dc-4f62-9e71-ba9b591e8e74");
m365CapabilityResourceScope.setResourceType(M365ResourceType.Group);
included.add(m365CapabilityResourceScope);
resourceScopes.setIncluded(included);
LinkedList<M365CapabilityResourceScope> excluded = new LinkedList<M365CapabilityResourceScope>();
resourceScopes.setExcluded(excluded);
inboundAccess.setResourceScopes(resourceScopes);
m365CapabilityBase.setInboundAccess(inboundAccess);
M365CapabilityBase result = graphClient.policies().crossTenantAccessPolicy().partners().byCrossTenantAccessPolicyConfigurationPartnerTenantId("{crossTenantAccessPolicyConfigurationPartner-tenantId}").m365Capabilities().post(m365CapabilityBase);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
const options = {
authProvider,
};
const client = Client.init(options);
const m365CapabilityBase = {
'@odata.type': '#microsoft.graph.crossTenantPlacesRoomBooking',
inboundAccess: {
isAllowed: true,
resourceScopes: {
included: [
{
resourceId: 'ad4fc698-74dc-4f62-9e71-ba9b591e8e74',
resourceType: 'group'
}
],
excluded: []
}
}
};
await client.api('/policies/crossTenantAccessPolicy/partners/af7b70b0-d161-4628-82b4-16190344c029/m365Capabilities')
.post(m365CapabilityBase);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\CrossTenantPlacesRoomBooking;
use Microsoft\Graph\Generated\Models\M365CapabilityInboundAccess;
use Microsoft\Graph\Generated\Models\M365CapabilityResourceScopes;
use Microsoft\Graph\Generated\Models\M365CapabilityResourceScope;
use Microsoft\Graph\Generated\Models\M365ResourceType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new CrossTenantPlacesRoomBooking();
$requestBody->setOdataType('#microsoft.graph.crossTenantPlacesRoomBooking');
$inboundAccess = new M365CapabilityInboundAccess();
$inboundAccess->setIsAllowed(true);
$inboundAccessResourceScopes = new M365CapabilityResourceScopes();
$includedM365CapabilityResourceScope1 = new M365CapabilityResourceScope();
$includedM365CapabilityResourceScope1->setResourceId('ad4fc698-74dc-4f62-9e71-ba9b591e8e74');
$includedM365CapabilityResourceScope1->setResourceType(new M365ResourceType('group'));
$includedArray []= $includedM365CapabilityResourceScope1;
$inboundAccessResourceScopes->setIncluded($includedArray);
$inboundAccessResourceScopes->setExcluded([]);
$inboundAccess->setResourceScopes($inboundAccessResourceScopes);
$requestBody->setInboundAccess($inboundAccess);
$result = $graphServiceClient->policies()->crossTenantAccessPolicy()->partners()->byCrossTenantAccessPolicyConfigurationPartnerTenantId('crossTenantAccessPolicyConfigurationPartner-tenantId')->m365Capabilities()->post($requestBody)->wait();
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.cross_tenant_places_room_booking import CrossTenantPlacesRoomBooking
from msgraph.generated.models.m365_capability_inbound_access import M365CapabilityInboundAccess
from msgraph.generated.models.m365_capability_resource_scopes import M365CapabilityResourceScopes
from msgraph.generated.models.m365_capability_resource_scope import M365CapabilityResourceScope
from msgraph.generated.models.m365_resource_type import M365ResourceType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = CrossTenantPlacesRoomBooking(
odata_type = "#microsoft.graph.crossTenantPlacesRoomBooking",
inbound_access = M365CapabilityInboundAccess(
is_allowed = True,
resource_scopes = M365CapabilityResourceScopes(
included = [
M365CapabilityResourceScope(
resource_id = "ad4fc698-74dc-4f62-9e71-ba9b591e8e74",
resource_type = M365ResourceType.Group,
),
],
excluded = [
],
),
),
)
result = await graph_client.policies.cross_tenant_access_policy.partners.by_cross_tenant_access_policy_configuration_partner_tenant_id('crossTenantAccessPolicyConfigurationPartner-tenantId').m365_capabilities.post(request_body)
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
Réponse
L’exemple suivant illustre la réponse.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.crossTenantPlacesRoomBooking",
"name": "crossTenantPlacesRoomBooking",
"lastModifiedDateTime": "2026-01-15T10:27:34.8241493Z",
"inboundAccess": {
"isAllowed": true,
"resourceScopes": {
"included": [
{
"resourceId": "ad4fc698-74dc-4f62-9e71-ba9b591e8e74",
"resourceType": "group"
}
],
"excluded": []
}
}
}