Opérations sur les domaines (version préliminaire) | Référence de l'API Graph
S’applique à : API Graph | Azure Active Directory
Cette rubrique explique comment effectuer des opérations sur les domaines à l’aide de l’API Azure Active Directory (AD) Graph.
Important
Les opérations de domaine sont actuellement en version préliminaire et sont prises en charge uniquement dans la version bêta de l’API Azure AD Graph.
L’API Graph est une API REST conforme OData 3.0 qui fournit un accès par programme aux objets d’annuaire d’Azure Active Directory tels que les utilisateurs, les groupes, les contacts professionnels et les applications.
Important
La fonctionnalité d’API Azure AD Graph est également disponible au moyen de Microsoft Graph, une API unifiée qui intègre aussi des API d’autres services Microsoft tels que Outlook, OneDrive, OneNote, Planner et Office Graph, tous accessibles par le biais d’un seul point de terminaison à l’aide d’un seul jeton d’accès. Il est important de noter que les opérations de domaine ne sont pas actuellement prises en charge dans Microsoft Graph ; vous devrez utiliser l’API Azure AD Graph pour cette fonctionnalité.
Exécuter des opérations REST sur des domaines
Pour effectuer des opérations sur les domaines avec l’API Graph, vous devez envoyer des requêtes HTTP à l’aide d’une méthode prise en charge (GET, POST, PATCH, PUT ou DELETE) à un point de terminaison qui cible la collection de ressources des domaines, un domaine spécifique, une propriété de navigation d’un domaine ou une fonction ou action pouvant être appelée sur un domaine.
Les demandes d’API Graph utilisent l’URL de base suivante :
https://graph.windows.net/{tenant_id}/{resource_path}?{api_version}[odata_query_parameters]
Important
Les demandes envoyées à l’API Graph doivent être bien formées, cibler un point de terminaison et une version valides de l’API Graph et indiquer dans leur en-tête Authorization
un jeton d’accès valide obtenu d’Azure AD. Pour plus d’informations sur la création de demandes et la réception de réponses au moyen de l’API Graph, consultez Operations Overview.
Vous spécifiez le {resource_path}
différemment selon que vous ciblez la collection de tous les domaines de votre locataire, un domaine individuel ou une propriété de navigation d’un domaine spécifique.
/domains
cible la collection de ressources des domaines. Vous pouvez utiliser ce chemin d’accès aux ressources pour lire tous les domaines ou une liste filtrée des domaines de votre locataire ou pour créer un ou plusieurs domaines dans votre locataire./domains({domain_name})
cible un domaine individuel de votre locataire. Vous spécifiez ledomain-name
comme nom de domaine complet du domaine cible entre guillemets simples. Vous pouvez utiliser ce chemin d’accès aux ressources pour obtenir les propriétés déclarées d’un domaine, modifier les propriétés déclarées d’un domaine ou supprimer un domaine./domains({domain_name})/{nav_property}
cible la propriété de navigation spécifiée d’un domaine. Vous pouvez l’utiliser pour renvoyer le ou les objets référencés par la propriété de navigation cible du domaine spécifié. Remarque : cette forme d’adressage est disponible uniquement pour les lectures./domains({domain_name})/$links/{nav_property}
cible la propriété de navigation spécifiée d’un domaine. Vous pouvez utiliser cette forme d’adressage pour lire et modifier une propriété de navigation. Sur les lectures, les objets référencés par la propriété sont renvoyés sous la forme d’un ou plusieurs liens dans le corps de la réponse. Sur les écritures, les objets sont spécifiés sous la forme d’un ou plusieurs liens dans le corps de la demande.
Par exemple, la requête suivante renvoie un lien vers les enregistrements de configuration de service du domaine spécifié :
GET https://graph.windows.net/myorganization/domains('contoso.com')/serviceConfigurationRecords?api-version=beta
Important : les opérations sur les domaines sont prises en charge uniquement dans la version bêta.
Opérations de base sur les domaines (version préliminaire)
Vous pouvez effectuer des opérations CRUD (création, lecture, mise à jour et suppression) de base sur les domaines et leurs propriétés déclarées en ciblant la collection de ressources de domaine ou un domaine spécifique. Les rubriques suivantes vous indiquent comment procéder.
L’API Graph prend en charge les opérations sur les groupes comme suit :
- Création (POST) : domaines non vérifiés et vérifiés.
- Lecture (GET) : tous les domaines.
- Mise à jour (PATCH) : domaines vérifiés uniquement. Certaines propriétés ne sont pas prises en charge.
- Suppression (DELETE) : tous les domaines.
Obtenir des domaines (version préliminaire)
Obtient une collection de domaines. Vous pouvez ajouter des paramètres de requête OData à la demande pour filtrer, trier et paginer la réponse. Pour plus d’informations, consultez Options de requêtes, de filtres et de pagination prises en charge par l’API Azure AD Graph.
En cas de réussite, renvoie une collection d’objets [Domain] ; sinon, le corps de la réponse contient les détails de l’erreur. Pour plus d’informations sur les erreurs, consultez Error Codes and Error Handling.
Request
GET https://graph.windows.net/myorganization/domains?api-version
Parameters
Parameter | Type | Value | Notes |
---|---|---|---|
Query | |||
api-version | string | 1.6 | The version of the Graph API to target. Only '1.6' is supported. Required. |
Obtenir un domaine (version préliminaire)
Obtient un domaine spécifié. Spécifiez le domaine en indiquant son nom complet.
En cas de réussite, renvoie les objets [Domain] du domaine spécifié ; sinon, le corps de la réponse contient les détails de l’erreur. Pour plus d’informations sur les erreurs, consultez Error Codes and Error Handling.
GET https://graph.windows.net/myorganization/domains({domain_name})?api-version
Parameters
Parameter | Type | Value | Notes |
---|---|---|---|
Query | |||
api-version | string | 1.6 | The version of the Graph API to target. Only '1.6' is supported. Required. |
GET https://graph.windows.net/myorganization/domains('contoso.onmicrosoft.com')?api-version=1.6
Response
Status Code:200
Content-Type: application/json
{
"odata.metadata": "https://graph.windows.net/contoso.onmicrosoft.com/$metadata#domains",
"value": [
{
"authenticationType": "Managed",
"availabilityStatus": null,
"adminManaged": true,
"isDefault": true,
"isInitial": true,
"isRoot": true,
"isVerified": true,
"name": "contoso.onmicrosoft.com",
"supportedServices": [
"Email",
"OfficeCommunicationsOnline"
]
}
]
}
Response List
Status Code | Description |
---|---|
200 | OK. Indicates success. The results are returned in the response body. |
Code Samples
using System;
using System.Net.Http.Headers;
using System.Text;
using System.Net.Http;
using System.Web;
namespace CSHttpClientSample
{
static class Program
{
static void Main()
{
MakeRequest();
Console.WriteLine("Hit ENTER to exit...");
Console.ReadLine();
}
static async void MakeRequest()
{
var client = new HttpClient();
var queryString = HttpUtility.ParseQueryString(string.Empty);
/* OAuth2 is required to access this API. For more information visit:
https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks */
// Specify values for the following required parameters
queryString["api-version"] = "1.6";
// Specify values for path parameters (shown as {...})
var uri = "https://graph.windows.net/myorganization/domains?" + queryString;
var response = await client.GetAsync(uri);
if (response.Content != null)
{
var responseString = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseString);
}
}
}
}
@ECHO OFF
REM OAuth2 is required to access this API. For more information visit: https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
REM Specify values for path parameters (shown as {...}), values for query parameters
curl -v -X GET "https://graph.windows.net/myorganization/domains?api-version=1.6&"^
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class JavaSample {
public static void main(String[] args) {
HttpClient httpclient = HttpClients.createDefault();
try
{
// OAuth2 is required to access this API. For more information visit:
// https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
// Specify values for path parameters (shown as {...})
URIBuilder builder = new URIBuilder("https://graph.windows.net/myorganization/domains");
// Specify values for the following required parameters
builder.setParameter("api-version", "1.6");
URI uri = builder.build();
HttpGet request = new HttpGet(uri);
HttpResponse response = httpclient.execute(request);
HttpEntity entity = response.getEntity();
if (entity != null) {
System.out.println(EntityUtils.toString(entity));
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
<!DOCTYPE html>
<html>
<head>
<title>JSSample</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(function() {
// OAuth2 is required to access this API. For more information visit:
// https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
var params = {
// Specify values for the following required parameters
'api-version': "1.6",
};
$.ajax({
// Specify values for path parameters (shown as {...})
url: 'https://graph.windows.net/myorganization/domains?' + $.param(params),
type: 'GET',
})
.done(function(data) {
alert("success");
})
.fail(function() {
alert("error");
});
});
</script>
</body>
</html>
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// OAuth2 is required to access this API. For more information visit:
// https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
// Specify values for path parameters (shown as {...})
NSString* path = @"https://graph.windows.net/myorganization/domains";
NSArray* array = @[
@"entities=true",
];
NSString* string = [array componentsJoinedByString:@"&"];
path = [path stringByAppendingFormat:@"?%@", string];
NSLog(@"%@", path);
NSMutableURLRequest* _request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path]];
[_request setHTTPMethod:@"GET"];
NSURLResponse *response = nil;
NSError *error = nil;
NSData* _connectionData = [NSURLConnection sendSynchronousRequest:_request returningResponse:&response error:&error];
if(nil != error)
{
NSLog(@"Error: %@", error);
}
else
{
NSError* error = nil;
NSMutableDictionary* json = nil;
NSString* dataString = [[NSString alloc] initWithData:_connectionData encoding:NSUTF8StringEncoding];
NSLog(@"%@", dataString);
if(nil != _connectionData)
{
json = [NSJSONSerialization JSONObjectWithData:_connectionData options:NSJSONReadingMutableContainers error:&error];
}
if (error || !json)
{
NSLog(@"Could not parse loaded json with error:%@", error);
}
NSLog(@"%@", json);
_connectionData = nil;
}
[pool drain];
return 0;
}
<?php
// This sample uses the pecl_http package. (for more information: http://pecl.php.net/package/pecl_http)
require_once 'HTTP/Request2.php';
$headers = array(
);
$query_params = array(
// Specify values for the following required parameters
'api-version' => '1.6',
);
$request = new Http_Request2('https://graph.windows.net/myorganization/domains');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setHeader($headers);
// OAuth2 is required to access this API. For more information visit:
// https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
$url = $request->getUrl();
$url->setQueryVariables($query_params);
try
{
$response = $request->send();
echo $response->getBody();
}
catch (HttpException $ex)
{
echo $ex;
}
?>
########### Python 2.7 #############
import httplib, urllib, base64
# OAuth2 is required to access this API. For more information visit: https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
headers = {
}
params = urllib.urlencode({
# Specify values for the following required parameters
'api-version': '1.6',
})
try:
conn = httplib.HTTPSConnection('graph.windows.net')
# Specify values for path parameters (shown as {...}) and request body if needed
conn.request("GET", "/myorganization/domains?%s" % params, "", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
########### Python 3.2 #############
import http.client, urllib.request, urllib.parse, urllib.error, base64
# OAuth2 is required to access this API. For more information visit: https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
headers = {
}
params = urllib.parse.urlencode({
# Specify values for the following required parameters
'api-version': '1.6',
})
try:
conn = http.client.HTTPSConnection('graph.windows.net')
# Specify values for path parameters (shown as {...}) and request body if needed
conn.request("GET", "/myorganization/domains?%s" % params, "", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
require 'net/http'
uri = URI('https://graph.windows.net/myorganization/domains')
uri.query = URI.encode_www_form({
# Specify values for the following required parameters
'api-version' => '1.6',
})
request = Net::HTTP::Get.new(uri.request_uri)
# OAuth2 is required to access this API. For more information visit: https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
http.request(request)
end
puts response.body
Créer un domaine (version préliminaire)
Ajoute un domaine au locataire. Le corps de la requête contient la propriété name du nouveau domaine. Il s’agit de la seule propriété qui puisse être spécifiée et celle-ci est obligatoire.
Le tableau suivant indique les propriétés obligatoires lors de la création d’un domaine.
Paramètre obligatoire | Type | Description |
---|---|---|
name | string | Nom de domaine complet du nouveau domaine, par exemple « contoso.com ». |
Important : si le domaine en cours de création est un sous-domaine d’un domaine vérifié du locataire, il est créé comme domaine vérifié (la propriété isVerified est true) ; sinon, il est créé comme domaine non vérifié (la propriété isVerified est false).
En cas de réussite, renvoie le [Domain] nouvellement créé ; sinon, le corps de la réponse contient les détails de l’erreur. Pour plus d’informations sur les erreurs, consultez Error Codes and Error Handling.
POST https://graph.windows.net/myorganization/domains?api-version
Parameters
Parameter | Type | Value | Notes |
---|---|---|---|
Query | |||
api-version | string | 1.6 | The version of the Graph API to target. Only '1.6' is supported. Required. |
Body | |||
Content-Type: application/json
|
Response
Status Code:201
Content-Type: application/json
{
"odata.metadata": "https://graph.windows.net/contoso.onmicrosoft.com/$metadata#domains/@Element",
"authenticationType": "Managed",
"availabilityStatus": null,
"isAdminManaged": false,
"isDefault": false,
"isInitial": false,
"isRoot": false,
"isVerified": false,
"name": "contoso.com",
"supportedServices": []
}
Response List
Status Code | Description |
---|---|
201 | Created. Indicates success. The new domain is returned in the response body. |
Mettre à jour un domaine (version préliminaire)
Mettez à jour les propriétés d’un domaine. Spécifiez toute propriété [Domain] accessible en écriture dans le corps de la demande. Seules les propriétés que vous spécifiez sont modifiées.
Important : seuls les domaines vérifiés peuvent être mis à jour.
En cas de réussite, aucun corps de réponse n’est renvoyé ; sinon, le corps de la réponse contient les détails de l’erreur. Pour plus d’informations sur les erreurs, consultez Error Codes and Error Handling.
PATCH https://graph.windows.net/myorganization/domains({domain_name})?api-version
Parameters
Parameter | Type | Value | Notes |
---|---|---|---|
URL | |||
domain_name | string | 'contoso.com' | The fully qualified domain name of the target domain. Must be enclosed in single quotes. |
Query | |||
api-version | string | 1.6 | The version of the Graph API to target. Only '1.6' is supported. Required. |
Body | |||
Content-Type: application/json
|
PATCH https://graph.windows.net/myorganization/domains('contoso.com')?api-version=1.6
Response
Status Code:204
Content-Type: application/json
none
Response List
Status Code | Description |
---|---|
204 | No Content. Indicates success. No response body is returned. |
Supprimer un domaine (version préliminaire)
Supprime un domaine. Les domaines supprimés ne sont pas récupérables.
En cas de réussite, aucun corps de réponse n’est renvoyé ; sinon, le corps de la réponse contient les détails de l’erreur. Pour plus d’informations sur les erreurs, consultez Error Codes and Error Handling.
DELETE https://graph.windows.net/myorganization/domains({domain_name})[?api-version]
Parameters
Parameter | Type | Value | Notes |
---|---|---|---|
URL | |||
domain_name | string | 'contoso.com' | The fully qualified domain name of the target domain. Must be enclosed in single quotes. |
Query | |||
api-version | string | 1.6 | Specifies the version of the Graph API to target. Only '1.6' is supported. Required. |
DELETE https://graph.windows.net/myorganization/domains('contoso.com')?api-version=1.6
Response
Status Code:201
Content-Type: application/json
none
Response List
Status Code | Description |
---|---|
204 | No Content. Indicates success. |
Opérations sur les propriétés de navigation du domaine (version préliminaire)
Les relations entre un domaine et d’autres objets de l’annuaire tels que ses enregistrements de vérification et ses enregistrements de configuration de service sont exposées par le biais des propriétés de navigation. Vous pouvez lire ces relations en ciblant ces propriétés de navigation dans vos requêtes.
Obtenir les enregistrements de vérification d’un domaine (version préliminaire)
Obtient les enregistrements de vérification du domaine à partir de la propriété de navigation verificationDnsRecords.
Vous ne pouvez pas utiliser le domaine avec votre locataire Azure AD tant que vous n’avez pas vérifié avec succès que vous êtes le propriétaire du domaine. Pour vérifier à qui appartient le domaine, vous devez tout d’abord récupérer un jeu d’enregistrements de vérification de domaine que vous devez ajouter au fichier zone du domaine.
En cas de réussite, renvoie une collection d’objets DomainDnsRecord ; sinon, le corps de la réponse contient les détails de l’erreur. Pour plus d’informations sur les erreurs, consultez Error Codes and Error Handling.
Remarque : vous pouvez ajouter le segment « $links » à l’URL pour renvoyer des liens vers les [DomainDnsRecord]s.
GET https://graph.windows.net/myorganization/domains({domain_name})/verificationDnsRecords?api-version
Parameters
Parameter | Type | Value | Notes |
---|---|---|---|
URL | |||
domain_name | string | 'contoso.com' | The fully qualified domain name of the target domain. Must be enclosed in single quotes. |
Query | |||
api-version | string | 1.6 | The version of the Graph API to target. Only '1.6' is supported. Required. |
GET https://graph.windows.net/myorganization/domains('contoso.com')/verificationDnsRecords?api-version=1.6
Response
Status Code:200
Content-Type: application/json
{
"odata.metadata": "https://graph.windows.net/myorganization/$metadata#domainDnsRecords",
"value": [
{
"odata.type": "Microsoft.DirectoryServices.DomainDnsTxtRecord",
"dnsRecordId": "aceff52c-06a5-447f-ac5f-256ad243cc5c",
"isOptional": false,
"label": "contoso.com",
"recordType": "Txt",
"supportedService": null,
"ttl": 3600,
"text": "MS=ms86120656"
},
{
"odata.type": "Microsoft.DirectoryServices.DomainDnsMxRecord",
"dnsRecordId": "5fbde38c-0865-497f-82b1-126f596bcee9",
"isOptional": false,
"label": "contoso.com",
"recordType": "Mx",
"supportedService": null,
"ttl": 3600,
"mailExchange": "ms86120656.msv1.invalid",
"preference": 32767
}
]
}
Requested List
Status Code | Description |
---|---|
200 | OK. Indicates success. The results are returned in the response body. |
Code Samples
using System;
using System.Net.Http.Headers;
using System.Text;
using System.Net.Http;
using System.Web;
namespace CSHttpClientSample
{
static class Program
{
static void Main()
{
MakeRequest();
Console.WriteLine("Hit ENTER to exit...");
Console.ReadLine();
}
static async void MakeRequest()
{
var client = new HttpClient();
var queryString = HttpUtility.ParseQueryString(string.Empty);
/* OAuth2 is required to access this API. For more information visit:
https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks */
// Specify values for the following required parameters
queryString["api-version"] = "1.6";
// Specify values for path parameters (shown as {...})
var uri = "https://graph.windows.net/myorganization/domains({domain_name})/verificationDnsRecords?" + queryString;
var response = await client.GetAsync(uri);
if (response.Content != null)
{
var responseString = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseString);
}
}
}
}
@ECHO OFF
REM OAuth2 is required to access this API. For more information visit: https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
REM Specify values for path parameters (shown as {...}), values for query parameters
curl -v -X GET "https://graph.windows.net/myorganization/domains({domain_name})/verificationDnsRecords?api-version=1.6&"^
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class JavaSample {
public static void main(String[] args) {
HttpClient httpclient = HttpClients.createDefault();
try
{
// OAuth2 is required to access this API. For more information visit:
// https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
// Specify values for path parameters (shown as {...})
URIBuilder builder = new URIBuilder("https://graph.windows.net/myorganization/domains({domain_name})/verificationDnsRecords");
// Specify values for the following required parameters
builder.setParameter("api-version", "1.6");
URI uri = builder.build();
HttpGet request = new HttpGet(uri);
HttpResponse response = httpclient.execute(request);
HttpEntity entity = response.getEntity();
if (entity != null) {
System.out.println(EntityUtils.toString(entity));
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
<!DOCTYPE html>
<html>
<head>
<title>JSSample</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(function() {
// OAuth2 is required to access this API. For more information visit:
// https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
var params = {
// Specify values for the following required parameters
'api-version': "1.6",
};
$.ajax({
// Specify values for path parameters (shown as {...})
url: 'https://graph.windows.net/myorganization/domains({domain_name})/verificationDnsRecords?' + $.param(params),
type: 'GET',
})
.done(function(data) {
alert("success");
})
.fail(function() {
alert("error");
});
});
</script>
</body>
</html>
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// OAuth2 is required to access this API. For more information visit:
// https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
// Specify values for path parameters (shown as {...})
NSString* path = @"https://graph.windows.net/myorganization/domains({domain_name})/verificationDnsRecords";
NSArray* array = @[
@"entities=true",
];
NSString* string = [array componentsJoinedByString:@"&"];
path = [path stringByAppendingFormat:@"?%@", string];
NSLog(@"%@", path);
NSMutableURLRequest* _request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path]];
[_request setHTTPMethod:@"GET"];
NSURLResponse *response = nil;
NSError *error = nil;
NSData* _connectionData = [NSURLConnection sendSynchronousRequest:_request returningResponse:&response error:&error];
if(nil != error)
{
NSLog(@"Error: %@", error);
}
else
{
NSError* error = nil;
NSMutableDictionary* json = nil;
NSString* dataString = [[NSString alloc] initWithData:_connectionData encoding:NSUTF8StringEncoding];
NSLog(@"%@", dataString);
if(nil != _connectionData)
{
json = [NSJSONSerialization JSONObjectWithData:_connectionData options:NSJSONReadingMutableContainers error:&error];
}
if (error || !json)
{
NSLog(@"Could not parse loaded json with error:%@", error);
}
NSLog(@"%@", json);
_connectionData = nil;
}
[pool drain];
return 0;
}
<?php
// This sample uses the pecl_http package. (for more information: http://pecl.php.net/package/pecl_http)
require_once 'HTTP/Request2.php';
$headers = array(
);
$query_params = array(
// Specify values for the following required parameters
'api-version' => '1.6',
);
$request = new Http_Request2('https://graph.windows.net/myorganization/domains({domain_name})/verificationDnsRecords');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setHeader($headers);
// OAuth2 is required to access this API. For more information visit:
// https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
$url = $request->getUrl();
$url->setQueryVariables($query_params);
try
{
$response = $request->send();
echo $response->getBody();
}
catch (HttpException $ex)
{
echo $ex;
}
?>
########### Python 2.7 #############
import httplib, urllib, base64
# OAuth2 is required to access this API. For more information visit: https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
headers = {
}
params = urllib.urlencode({
# Specify values for the following required parameters
'api-version': '1.6',
})
try:
conn = httplib.HTTPSConnection('graph.windows.net')
# Specify values for path parameters (shown as {...}) and request body if needed
conn.request("GET", "/myorganization/domains({domain_name})/verificationDnsRecords?%s" % params, "", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
########### Python 3.2 #############
import http.client, urllib.request, urllib.parse, urllib.error, base64
# OAuth2 is required to access this API. For more information visit: https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
headers = {
}
params = urllib.parse.urlencode({
# Specify values for the following required parameters
'api-version': '1.6',
})
try:
conn = http.client.HTTPSConnection('graph.windows.net')
# Specify values for path parameters (shown as {...}) and request body if needed
conn.request("GET", "/myorganization/domains({domain_name})/verificationDnsRecords?%s" % params, "", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
require 'net/http'
uri = URI('https://graph.windows.net/myorganization/domains({domain_name})/verificationDnsRecords')
uri.query = URI.encode_www_form({
# Specify values for the following required parameters
'api-version' => '1.6',
})
request = Net::HTTP::Get.new(uri.request_uri)
# OAuth2 is required to access this API. For more information visit: https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
http.request(request)
end
puts response.body
Obtenir les enregistrements de configuration de service d’un domaine (version préliminaire)
Obtient les enregistrements de configuration de service du domaine à partir de la propriété de navigation serviceConfigurationRecords.
Une fois que vous avez vérifié avec succès la propriété d’un domaine et que vous avez indiqué les services que vous comptez utiliser avec le domaine, vous pouvez demander à Azure AD de vous renvoyer un jeu d’enregistrements DNS que vous devez ajouter au fichier zone du domaine pour que les services fonctionnent correctement avec votre domaine.
En cas de réussite, renvoie une collection d’objets DomainDnsRecord ; sinon, le corps de la réponse contient les détails de l’erreur. Pour plus d’informations sur les erreurs, consultez Error Codes and Error Handling.
Remarque : vous pouvez ajouter le segment « $links » à l’URL pour renvoyer des liens vers les DomainDnsRecords.
GET https://graph.windows.net/myorganization/domains({domain_name})/serviceConfigurationRecords?api-version
Parameters
Parameter | Type | Value | Notes |
---|---|---|---|
URL | |||
domain_name | string | 'contoso.com' | The fully qualified domain name of the target domain. Must be enclosed in single quotes. |
Query | |||
api-version | string | 1.6 | The version of the Graph API to target. Only '1.6' is supported. Required. |
GET https://graph.windows.net/myorganization/domains('contoso.com')/serviceConfigurationRecords?api-version=1.6
Response Status Code:200 Content-Type: application/json
{
"odata.metadata": "https://graph.windows.net/myorganization/$metadata#domainDnsRecords",
"value": [
{
"odata.type": "Microsoft.DirectoryServices.DomainDnsMxRecord",
"dnsRecordId": "2b672ab0-0bee-476f-b334-be436f2449bd",
"isOptional": false,
"label": "contoso.com",
"recordType": "Mx",
"supportedService": "Email",
"ttl": 3600,
"mailExchange": "contoso-com.mail.protection.outlook.com",
"preference": 0
},
{
"odata.type": "Microsoft.DirectoryServices.DomainDnsTxtRecord",
"dnsRecordId": "62bea837-a0d7-4466-b6d9-ff6bd1db8671",
"isOptional": false,
"label": "contoso.com",
"recordType": "Txt",
"supportedServices": "Email",
"ttl": 3600,
"text": "v=spf1 include: spf.protection.outlook.com ~all"
},
{
"odata.type": "Microsoft.DirectoryServices.DomainDnsCnameRecord",
"dnsRecordId": "eea5ce9e-8deb-4ab7-a114-13ed6215774f",
"isOptional": false,
"label": "autodiscover.contoso.com",
"recordType": "CName",
"supportedServices": "Email",
"ttl": 3600,
"canonicalName": "autodiscover.outlook.com"
}
]
}
Response List
Status Code | Description |
---|---|
200 | OK. Indicates success. The results are returned in the response body. |
Code Samples
using System;
using System.Net.Http.Headers;
using System.Text;
using System.Net.Http;
using System.Web;
namespace CSHttpClientSample
{
static class Program
{
static void Main()
{
MakeRequest();
Console.WriteLine("Hit ENTER to exit...");
Console.ReadLine();
}
static async void MakeRequest()
{
var client = new HttpClient();
var queryString = HttpUtility.ParseQueryString(string.Empty);
/* OAuth2 is required to access this API. For more information visit:
https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks */
// Specify values for the following required parameters
queryString["api-version"] = "1.6";
// Specify values for path parameters (shown as {...})
var uri = "https://graph.windows.net/myorganization/domains({domain_name})/serviceConfigurationRecords?" + queryString;
var response = await client.GetAsync(uri);
if (response.Content != null)
{
var responseString = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseString);
}
}
}
}
@ECHO OFF
REM OAuth2 is required to access this API. For more information visit: https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
REM Specify values for path parameters (shown as {...}), values for query parameters
curl -v -X GET "https://graph.windows.net/myorganization/domains({domain_name})/serviceConfigurationRecords?api-version=1.6&"^
// This sample uses the Apache HTTP client from HTTP Components (http://hc.apache.org/httpcomponents-client-ga/)
import java.net.URI;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class JavaSample {
public static void main(String[] args) {
HttpClient httpclient = HttpClients.createDefault();
try
{
// OAuth2 is required to access this API. For more information visit:
// https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
// Specify values for path parameters (shown as {...})
URIBuilder builder = new URIBuilder("https://graph.windows.net/myorganization/domains({domain_name})/serviceConfigurationRecords");
// Specify values for the following required parameters
builder.setParameter("api-version", "1.6");
URI uri = builder.build();
HttpGet request = new HttpGet(uri);
HttpResponse response = httpclient.execute(request);
HttpEntity entity = response.getEntity();
if (entity != null) {
System.out.println(EntityUtils.toString(entity));
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
}
}
<!DOCTYPE html>
<html>
<head>
<title>JSSample</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
$(function() {
// OAuth2 is required to access this API. For more information visit:
// https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
var params = {
// Specify values for the following required parameters
'api-version': "1.6",
};
$.ajax({
// Specify values for path parameters (shown as {...})
url: 'https://graph.windows.net/myorganization/domains({domain_name})/serviceConfigurationRecords?' + $.param(params),
type: 'GET',
})
.done(function(data) {
alert("success");
})
.fail(function() {
alert("error");
});
});
</script>
</body>
</html>
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// OAuth2 is required to access this API. For more information visit:
// https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
// Specify values for path parameters (shown as {...})
NSString* path = @"https://graph.windows.net/myorganization/domains({domain_name})/serviceConfigurationRecords";
NSArray* array = @[
@"entities=true",
];
NSString* string = [array componentsJoinedByString:@"&"];
path = [path stringByAppendingFormat:@"?%@", string];
NSLog(@"%@", path);
NSMutableURLRequest* _request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path]];
[_request setHTTPMethod:@"GET"];
NSURLResponse *response = nil;
NSError *error = nil;
NSData* _connectionData = [NSURLConnection sendSynchronousRequest:_request returningResponse:&response error:&error];
if(nil != error)
{
NSLog(@"Error: %@", error);
}
else
{
NSError* error = nil;
NSMutableDictionary* json = nil;
NSString* dataString = [[NSString alloc] initWithData:_connectionData encoding:NSUTF8StringEncoding];
NSLog(@"%@", dataString);
if(nil != _connectionData)
{
json = [NSJSONSerialization JSONObjectWithData:_connectionData options:NSJSONReadingMutableContainers error:&error];
}
if (error || !json)
{
NSLog(@"Could not parse loaded json with error:%@", error);
}
NSLog(@"%@", json);
_connectionData = nil;
}
[pool drain];
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// OAuth2 is required to access this API. For more information visit:
// https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
// Specify values for path parameters (shown as {...})
NSString* path = @"https://graph.windows.net/myorganization/domains({domain_name})/serviceConfigurationRecords";
NSArray* array = @[
@"entities=true",
];
NSString* string = [array componentsJoinedByString:@"&"];
path = [path stringByAppendingFormat:@"?%@", string];
NSLog(@"%@", path);
NSMutableURLRequest* _request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:path]];
[_request setHTTPMethod:@"GET"];
NSURLResponse *response = nil;
NSError *error = nil;
NSData* _connectionData = [NSURLConnection sendSynchronousRequest:_request returningResponse:&response error:&error];
if(nil != error)
{
NSLog(@"Error: %@", error);
}
else
{
NSError* error = nil;
NSMutableDictionary* json = nil;
NSString* dataString = [[NSString alloc] initWithData:_connectionData encoding:NSUTF8StringEncoding];
NSLog(@"%@", dataString);
if(nil != _connectionData)
{
json = [NSJSONSerialization JSONObjectWithData:_connectionData options:NSJSONReadingMutableContainers error:&error];
}
if (error || !json)
{
NSLog(@"Could not parse loaded json with error:%@", error);
}
NSLog(@"%@", json);
_connectionData = nil;
}
[pool drain];
return 0;
}
<?php
// This sample uses the pecl_http package. (for more information: http://pecl.php.net/package/pecl_http)
require_once 'HTTP/Request2.php';
$headers = array(
);
$query_params = array(
// Specify values for the following required parameters
'api-version' => '1.6',
);
$request = new Http_Request2('https://graph.windows.net/myorganization/domains({domain_name})/serviceConfigurationRecords');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setHeader($headers);
// OAuth2 is required to access this API. For more information visit:
// https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
$url = $request->getUrl();
$url->setQueryVariables($query_params);
try
{
$response = $request->send();
echo $response->getBody();
}
catch (HttpException $ex)
{
echo $ex;
}
?>
########### Python 2.7 #############
import httplib, urllib, base64
# OAuth2 is required to access this API. For more information visit: https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
headers = {
}
params = urllib.urlencode({
# Specify values for the following required parameters
'api-version': '1.6',
})
try:
conn = httplib.HTTPSConnection('graph.windows.net')
# Specify values for path parameters (shown as {...}) and request body if needed
conn.request("GET", "/myorganization/domains({domain_name})/serviceConfigurationRecords?%s" % params, "", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
########### Python 3.2 #############
import http.client, urllib.request, urllib.parse, urllib.error, base64
# OAuth2 is required to access this API. For more information visit: https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
headers = {
}
params = urllib.parse.urlencode({
# Specify values for the following required parameters
'api-version': '1.6',
})
try:
conn = http.client.HTTPSConnection('graph.windows.net')
# Specify values for path parameters (shown as {...}) and request body if needed
conn.request("GET", "/myorganization/domains({domain_name})/serviceConfigurationRecords?%s" % params, "", headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
####################################
require 'net/http'
uri = URI('https://graph.windows.net/myorganization/domains({domain_name})/serviceConfigurationRecords')
uri.query = URI.encode_www_form({
# Specify values for the following required parameters
'api-version' => '1.6',
})
request = Net::HTTP::Get.new(uri.request_uri)
# OAuth2 is required to access this API. For more information visit: https://msdn.microsoft.com/en-us/office/office365/howto/common-app-authentication-tasks
response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http|
http.request(request)
end
puts response.body
Fonctions et actions sur les domaines (version préliminaire)
Vous pouvez appeler les actions suivantes sur un domaine.
action verify (version préliminaire)
Vous pouvez appeler l’action [verify] sur un domaine non vérifié (la propriété isVerified est false) pour vérifier la propriété du domaine.