Table of contents

Vorgänge für Kontakte | Graph-API-Referenz

Jimaco Brannian|Zuletzt aktualisiert: 19.03.2018
|
1 Mitwirkender

Gilt für: Graph-API | Azure Active Directory

In diesem Artikel wird erläutert, wie mithilfe der Azure AD (Active Directory)-Graph-API Vorgänge für Organisationskontakte ausgeführt werden. Organisationskontakte stellen in der Regel Benutzer außerhalb des Unternehmens oder der Organisation dar. Sie unterscheiden sich von persönlichen Outlook-Kontakten in Office 365. Mit der Azure AD Graph-API können Sie Organisationskontakte und deren Beziehungen zu anderen Verzeichnisobjekten, z.B. Vorgesetzter, direkte Mitarbeiter und Gruppenmitgliedschaften, lesen. Die Fähigkeit zum Schreiben von Organisationskontakten ist jedoch auf Kontakte beschränkt, die derzeit aus einem lokalen Verzeichnis synchronisiert werden (die dirSyncEnabled-Eigenschaft ist null oder false). Bei solchen Kontakten können Sie den Kontakt selbst oder seine manager-Eigenschaft aktualisieren oder löschen. Sie können Organisationskontakte nicht mit der Graph-API erstellen. Weitere Informationen zu Organisationskontakten und wie sie im Mandanten erstellt werden finden Sie unter Contact.

Bei der Graph-API handelt es sich um eine REST-basierte API, die einen programmgesteuerten Zugriff auf Verzeichnisobjekte in Azure Active Directory (Azure AD) ermöglicht, z.B. auf Benutzer, Gruppen, Organisationskontakte und Anwendungen.

Wichtig

Die Funktionen der Azure AD Graph-API sind auch über Microsoft Graph verfügbar. Dies ist eine einheitliche API, die auch APIs von anderen Microsoft-Diensten wie Outlook, OneDrive, OneNote, Planner und Office Graph enthält. Auf alle wird über einen einzigen Endpunkt mit einem einzigen Zugriffstoken zugegriffen.

Ausführen von REST-Vorgängen für Kontakte

Zum Ausführen von Vorgängen für Organisationskontakte mit der Graph-API senden Sie mit einer unterstützten Methode (GET, POST, PATCH, PUT oder DELETE) HTTP-Anforderungen an einen Endpunkt für die Ressourcensammlung der Kontakte, einen bestimmten Kontakt, eine Navigationseigenschaft eines Kontakts oder eine Funktion oder Aktion, die für einen Kontakt aufgerufen werden kann.

URLs für Graph-API-Anforderungen weisen das folgende Format auf:

https://graph.windows.net/{tenant_id}/{resource_path}?{api_version}[odata_query_parameters]
Wichtig

An die Graph-API gesendete Anforderungen müssen wohlgeformt sein, an einen gültigen Endpunkt und eine gültige Version der Graph-API gerichtet sein und im Authorization-Header ein gültiges Zugriffstoken von Azure AD enthalten. Ausführlichere Informationen zum Erstellen von Anforderungen und Empfangen von Antworten mit der Graph-API finden Sie unter Operations Overview.

Der von Ihnen angegebene {resource_path} hängt davon ab, ob das Ziel die Sammlung aller Kontakte im Mandanten, ein einzelner Kontakt oder eine Navigationseigenschaft eines bestimmten Kontakts ist.

  • /contacts gibt den Pfad zur Kontaktressourcensammlung an. Sie können diesen Ressourcenpfad verwenden, um alle Kontakte oder eine gefilterte Liste der Kontakte im Mandanten zu lesen.
  • /contacts/{object_id} gibt den Pfad zu einem einzelnen Kontakt im Mandanten an. Sie geben den Zielkontakt mit seiner Objekt-ID (GUID) an. Sie können mit diesem Ressourcenpfad die deklarierten Eigenschaften eines Kontakts abrufen. Für Kontakte, die nicht aus einem lokalen Verzeichnis synchronisiert werden, können Sie diesen Ressourcenpfad verwenden, um die deklarierten Eigenschaften eines Kontakts zu ändern oder einen Kontakt zu löschen.
  • /contacts/{object_id}/{nav_property} gibt den Pfad zur angegebenen Navigationseigenschaft eines Kontakts an. Sie können diesen Pfad verwenden, um das Objekt oder die Objekte zurückzugeben, auf das bzw. die von der Zielnavigationseigenschaft des angegebenen Kontakts verwiesen wird. Hinweis: Diese Form der Adressierung ist nur für Lesevorgänge verfügbar.
  • /contacts/{object_id}/$links/{nav_property} gibt den Pfad zur angegebenen Navigationseigenschaft eines Kontakts an. Sie können diese Form der Adressierung für Lesevorgänge und zum Ändern einer Navigationseigenschaft verwenden. Bei Lesevorgängen werden Objekte, auf die von der Eigenschaft verwiesen wird, als einer oder mehrere Links im Antworttext zurückgegeben. Nur die manager-Navigationseigenschaft von Kontakten, die nicht aus einem lokalen Verzeichnis synchronisiert werden, kann geändert werden. Der Vorgesetzte („manager“) wird als Link im Anforderungstext angegeben.

Beispielsweise gibt die folgende Anforderung einen Link zum Vorgesetzten des angegebenen Kontakts zurück:

GET https://graph.windows.net/myorganization/contacts/a2fb3752-08b4-413d-af6f-1d99c4c131d9/$links/manager?api-version=1.6

Grundlegende Vorgänge für Kontakte

Sie können Lesevorgänge für Kontakte ausführen, indem Sie die Kontaktressourcensammlung oder einen bestimmten Kontakt als Ziel verwenden. Sie können Kontakte, die nicht aus einem lokalen Verzeichnis synchronisiert werden, aktualisieren und löschen, indem Sie einen bestimmten Kontakt aktualisieren bzw. löschen. Die Graph-API unterstützt nicht das Erstellen von Kontakten. Sie unterstützt auch nicht das Aktualisieren oder Löschen von Kontakten, die aus einem lokalen Verzeichnis synchronisiert werden (die dirSyncEnabled-Eigenschaft ist true). In den folgenden Themen wird das Ausführen von grundlegenden Vorgängen für Kontakte beschrieben.


Abrufen von Kontakten

Ruft eine Sammlung von Kontakten ab. Sie können der Anforderung OData-Abfrageparameter hinzufügen, um die Antwort zu filtern, zu sortieren und zu paginieren. Weitere Informationen finden Sie unter Supported Queries, Filters, and Paging Options.

Bei Erfolg wird eine Sammlung von Contact-Objekten zurückgegeben. Andernfalls enthält der Antworttext Fehlerinformationen. Weitere Informationen zu Fehlern finden Sie unter Error Codes and Error Handling.

Request

GET https://graph.windows.net/myorganization/contacts?api-version

Parameters

ParameterTypeValueNotes
Query
api-versionstringThe version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.

Requested URL

GET https://graph.windows.net/myorganization/contacts?api-version

Response

Status Code:200
Content-Type:
  • application/json
{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#directoryObjects/Microsoft.DirectoryServices.Contact",
  "value": [
    {
      "odata.type": "Microsoft.DirectoryServices.Contact",
      "objectType": "Contact",
      "objectId": "31944231-fd52-4a7f-b32e-7902a01fddf9",
      "deletionTimestamp": null,
      "city": null,
      "companyName": null,
      "country": null,
      "department": null,
      "dirSyncEnabled": null,
      "displayName": "Marcus Breyer",
      "facsimileTelephoneNumber": null,
      "givenName": "Marcus",
      "jobTitle": null,
      "lastDirSyncTime": null,
      "mail": "Marcus@contoso.com",
      "mailNickname": "MarcusBreyer",
      "mobile": null,
      "physicalDeliveryOfficeName": null,
      "postalCode": null,
      "provisioningErrors": [],
      "proxyAddresses": [
        "SMTP:Marcus@contoso.com"
      ],
      "sipProxyAddress": null,
      "state": null,
      "streetAddress": null,
      "surname": "Breyer",
      "telephoneNumber": null
    },
    {
      "odata.type": "Microsoft.DirectoryServices.Contact",
      "objectType": "Contact",
      "objectId": "35110b16-360c-4c4a-93b2-03f065fabd93",
      "deletionTimestamp": null,
      "city": null,
      "companyName": null,
      "country": null,
      "department": null,
      "dirSyncEnabled": null,
      "displayName": "Yossi Ran",
      "facsimileTelephoneNumber": null,
      "givenName": "Yossi",
      "jobTitle": null,
      "lastDirSyncTime": null,
      "mail": "Yossi@contoso.com",
      "mailNickname": "YossiRan",
      "mobile": null,
      "physicalDeliveryOfficeName": null,
      "postalCode": null,
      "provisioningErrors": [],
      "proxyAddresses": [
        "SMTP:Yossi@contoso.com"
      ],
      "sipProxyAddress": null,
      "state": null,
      "streetAddress": null,
      "surname": "Ran",
      "telephoneNumber": null
    },
    {
      "odata.type": "Microsoft.DirectoryServices.Contact",
      "objectType": "Contact",
      "objectId": "7163f3b8-70c9-43d2-b9e1-4467ddaf087a",
      "deletionTimestamp": null,
      "city": null,
      "companyName": null,
      "country": null,
      "department": null,
      "dirSyncEnabled": null,
      "displayName": "Jeremy Nelson",
      "facsimileTelephoneNumber": null,
      "givenName": "Jeremy",
      "jobTitle": null,
      "lastDirSyncTime": null,
      "mail": "Jeremy@contoso.com",
      "mailNickname": "JeremyNelson",
      "mobile": null,
      "physicalDeliveryOfficeName": null,
      "postalCode": null,
      "provisioningErrors": [],
      "proxyAddresses": [
        "SMTP:Jeremy@contoso.com"
      ],
      "sipProxyAddress": null,
      "state": null,
      "streetAddress": null,
      "surname": "Nelson",
      "telephoneNumber": null
    },
    {
      "odata.type": "Microsoft.DirectoryServices.Contact",
      "objectType": "Contact",
      "objectId": "83234b5c-3a10-4108-8f36-39b1addadfdb",
      "deletionTimestamp": null,
      "city": null,
      "companyName": null,
      "country": null,
      "department": null,
      "dirSyncEnabled": null,
      "displayName": "David Strome",
      "facsimileTelephoneNumber": null,
      "givenName": "David",
      "jobTitle": null,
      "lastDirSyncTime": null,
      "mail": "David@contoso.com",
      "mailNickname": "DavidStrome",
      "mobile": null,
      "physicalDeliveryOfficeName": null,
      "postalCode": null,
      "provisioningErrors": [],
      "proxyAddresses": [
        "SMTP:David@contoso.com"
      ],
      "sipProxyAddress": null,
      "state": null,
      "streetAddress": null,
      "surname": "Strome",
      "telephoneNumber": null
    },
    {
      "odata.type": "Microsoft.DirectoryServices.Contact",
      "objectType": "Contact",
      "objectId": "8c1315ce-bf6f-4e26-b24f-c830606ef41c",
      "deletionTimestamp": null,
      "city": null,
      "companyName": null,
      "country": null,
      "department": null,
      "dirSyncEnabled": null,
      "displayName": "Holly Holt",
      "facsimileTelephoneNumber": null,
      "givenName": "Holly",
      "jobTitle": null,
      "lastDirSyncTime": null,
      "mail": "Holly@contoso.com",
      "mailNickname": "HollyHolt",
      "mobile": null,
      "physicalDeliveryOfficeName": null,
      "postalCode": null,
      "provisioningErrors": [],
      "proxyAddresses": [
        "SMTP:Holly@contoso.com"
      ],
      "sipProxyAddress": null,
      "state": null,
      "streetAddress": null,
      "surname": "Holt",
      "telephoneNumber": null
    }
  ]
}

Response List

Status CodeDescription
200OK. 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/contacts?" + 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/contacts?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/contacts");
		// 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/contacts?' + $.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/contacts";
    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/contacts');
$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/contacts?%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/contacts?%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/contacts')

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

###Abrufen eines Kontakts

Ruft einen angegebenen Kontakt ab. Sie bestimmen den Zielkontakt anhand der Objekt-ID (GUID).

Bei Erfolg wird das Contact-Objekt für den angegebenen Kontakt zurückgegeben. Andernfalls enthält der Antworttext Fehlerinformationen. Weitere Informationen zu Fehlern finden Sie unter Error Codes and Error Handling.

Request

GET https://graph.windows.net/myorganization/contacts/{object_id}?api-version

Parameters

ParameterTypeValueNotes
URL
object_idstringThe object ID (GUID) of the target contact.
Query
api-versionstringSpecifies the version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.

Requested URL

GET https://graph.windows.net/myorganization/contacts/{object_id}?api-version

Response

Status Code:200
Content-Type:
  • application/json
{
  "odata.metadata": "https://graph.windows.net/graphdir1.onmicrosoft.com/$metadata#directoryObjects/Microsoft.DirectoryServices.Contact/@Element",
  "odata.type": "Microsoft.DirectoryServices.Contact",
  "objectType": "Contact",
  "objectId": "31944231-fd52-4a7f-b32e-7902a01fddf9",
  "deletionTimestamp": null,
  "city": null,
  "companyName": null,
  "country": null,
  "department": null,
  "dirSyncEnabled": null,
  "displayName": "Marcus Breyer",
  "facsimileTelephoneNumber": null,
  "givenName": "Marcus",
  "jobTitle": null,
  "lastDirSyncTime": null,
  "mail": "Marcus@contoso.com",
  "mailNickname": "MarcusBreyer",
  "mobile": null,
  "physicalDeliveryOfficeName": null,
  "postalCode": null,
  "provisioningErrors": [],
  "proxyAddresses": [
    "SMTP:Marcus@contoso.com"
  ],
  "sipProxyAddress": null,
  "state": null,
  "streetAddress": null,
  "surname": "Breyer",
  "telephoneNumber": null
}

Response List

Status CodeDescription
200OK. Indicates success. The contact is 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/contacts/{object_id}?" + 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/contacts/{object_id}?api-version=1.6&amp;"^

// 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/contacts/{object_id}");
		// 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/contacts/{object_id}?' + $.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/contacts/{object_id}";
    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/contacts/{object_id}');
$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/contacts/{object_id}?%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/contacts/{object_id}?%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/contacts/{object_id}')

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

Aktualisieren eines Kontakts

Aktualisieren der Eigenschaften eines Kontakts. Geben Sie im Anforderungstext eine beschreibbare Contact-Eigenschaft an. Nur die von Ihnen angegebenen Eigenschaften werden geändert. Sie können nur Kontakte aktualisieren, die nicht aus einem lokalen Verzeichnis synchronisiert werden (die dirSyncEnabled-Eigenschaft ist null oder false).

Bei Erfolg wird kein Antworttext zurückgegeben. Andernfalls enthält der Antworttext Fehlerinformationen. Weitere Informationen zu Fehlern finden Sie unter Error Codes and Error Handling.

Request

PATCH https://graph.windows.net/myorganization/contacts/{object_id}?api-version

Parameters

ParameterTypeValueNotes
URL
object_idstringThe object ID (GUID) of the target contact.
Query
api-versionstringThe version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.
Body
Content-Type: application/json
{
  "department": "Sales",
  "jobTitle": "Sales Rep"
}

Requested URL

PATCH https://graph.windows.net/myorganization/contacts/{object_id}?api-version

Response

Status Code:204
Content-Type:
  • application/json

Response List

Status CodeDescription
204No Content. Indicates success. No response body is returned.

Löschen eines Kontakts

Löscht einen Kontakt. Sie können nur Kontakte löschen , die nicht aus einem lokalen Verzeichnis synchronisiert werden (dirSyncEnabled ist null oder false).

Bei Erfolg wird kein Antworttext zurückgegeben. Andernfalls enthält der Antworttext Fehlerinformationen. Weitere Informationen zu Fehlern finden Sie unter Error Codes and Error Handling.

Request

DELETE https://graph.windows.net/myorganization/contacts/{object_id}[?api-version]

Parameters

ParameterTypeValueNotes
URL
object_idstringThe object ID (GUID) of the target contact.
Query
api-versionstringSpecifies the version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.

Requested URL

DELETE https://graph.windows.net/myorganization/contacts/{object_id}[?api-version]

Response

Status Code:204
Content-Type:
  • application/json

Response List

Status CodeDescription
204No Content. Indicates success.

Vorgänge für Kontaktnavigationseigenschaften

Die Beziehungen zwischen einem Kontakt und anderen Objekten im Verzeichnis, z.B. dem Vorgesetzten, direkten Gruppenmitgliedschaften und direkten Mitarbeitern des Kontakts, werden über Navigationseigenschaften verfügbar gemacht. Durch Angeben der Navigationseigenschaften in den Anforderungen können Sie diese Beziehungen lesen und in einigen Fällen ändern.

Abrufen des Vorgesetzten eines Kontakts

Ruft den Vorgesetzten eines Kontakts aus der manager-Navigationseigenschaft ab.

Bei Erfolg wird ein Link zum User oder Contact zurückgegeben, der als Vorgesetzter des Kontakts zugewiesen ist. Andernfalls enthält der Antworttext Fehlerinformationen. Weitere Informationen zu Fehlern finden Sie unter Error Codes and Error Handling.

Hinweis: Sie können das $links-Segment aus der URL entfernen, wenn statt eines Links das User- oder Contact-Objekt zurückgegeben werden soll.

Request

GET https://graph.windows.net/myorganization/contacts/{object_id}/$links/manager?api-version

Parameters

ParameterTypeValueNotes
URL
object_idstringThe object ID (GUID) of the target contact.
Query
api-versionstringThe version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.

Requested URL

GET https://graph.windows.net/myorganization/contacts/{object_id}/$links/manager?api-version

Response

Status Code:200
Content-Type:
  • application/json
{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#directoryObjects/$links/manager",
  "url": "https://graph.windows.net/myorganization/directoryObjects/35110b16-360c-4c4a-93b2-03f065fabd93/Microsoft.WindowsAzure.ActiveDirectory.Contact"
}

Response List

Status CodeDescription
200OK. Indicates success. A link to the contact's manager is returned.
404Not Found. The requested resource was not found. This can occur if the manager property is not currently set for the specified contact. It can also have other causes, for example, a bad domain. A code and associated message is returned with the error.

Code Samples


Zuweisen des Vorgesetzten eines Kontakts

Weist über die manager-Eigenschaft den Vorgesetzten eines Kontakts zu. Es kann ein Benutzer oder ein Kontakt zugewiesen werden. Der Anforderungstext enthält einen Link zu dem User oder Contact, der zugewiesen werden soll. Sie können nur den Vorgesetzten für Kontakte aktualisieren, die nicht aus einem lokalen Verzeichnis synchronisiert werden (die dirSyncEnabled-Eigenschaft ist null oder false).

Bei Erfolg wird kein Antworttext zurückgegeben. Andernfalls enthält der Antworttext Fehlerinformationen. Weitere Informationen zu Fehlern finden Sie unter Error Codes and Error Handling.

Request

PUT https://graph.windows.net/myorganization/contacts/{object_id}/$links/manager?api-version

Parameters

ParameterTypeValueNotes
URL
object_idstringThe object ID (GUID) of the target contact.
Query
api-versionstringThe version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.
Body
Content-Type: application/json
{
  "url": "https://graph.windows.net/myorganization/directoryObjects/35110b16-360c-4c4a-93b2-03f065fabd93"
}

Requested URL

PUT https://graph.windows.net/myorganization/contacts/{object_id}/$links/manager?api-version

Response

Status Code:204
Content-Type:
  • application/json

Response List

Status CodeDescription
204No Content. Indicates success. No response body is returned.

Abrufen der direkten Mitarbeiter eines Kontakts

Ruft über die directReports-Navigationseigenschaft die direkten Mitarbeiter des Kontakts ab.

Bei Erfolg wird eine Sammlung von Links zu den Users und Contacts zurückgegeben, denen der Kontakt als Vorgesetzter zugewiesen ist. Andernfalls enthält der Antworttext Fehlerinformationen. Weitere Informationen zu Fehlern finden Sie unter Error Codes and Error Handling.

Hinweis: Sie können das $links-Segment aus der URL entfernen, wenn statt Links DirectoryObjects für die Benutzer und Kontakte zurückgegeben werden sollen.

Request

GET https://graph.windows.net/myorganization/contacts/{object_id}/$links/directReports?api-version

Parameters

ParameterTypeValueNotes
URL
object_idstringThe object ID (GUID) of the target contact.
Query
api-versionstringThe version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.

Requested URL

GET https://graph.windows.net/myorganization/contacts/{object_id}/$links/directReports?api-version

Response

Status Code:200
Content-Type:
  • application/json
{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#directoryObjects/$links/directReports",
  "value": [
    {
      "url": "https://graph.windows.net/myorganization/directoryObjects/8c1315ce-bf6f-4e26-b24f-c830606ef41c/Microsoft.DirectoryServices.Contact"
    }
  ]
}

Response List

Status CodeDescription
200OK. Indicates success. One or more direct reports are returned.

Code Samples


Abrufen der Gruppenmitgliedschaften eines Kontakts

Ruft über die memberOf-Navigationseigenschaft die Gruppenmitgliedschaften eines Kontakts ab.

Diese Eigenschaft gibt nur die Gruppen zurück, denen der Kontakt als direktes Mitglied angehört. Um alle Gruppen abzurufen, denen der Kontakt als direktes oder transitives Mitglied angehört, rufen Sie die getMemberGroups-Funktion auf.

Bei Erfolg wird eine Sammlung von Links zu den Groups zurückgegeben, in denen der Kontakt Mitglied ist. Andernfalls enthält der Antworttext Fehlerinformationen. Weitere Informationen zu Fehlern finden Sie unter Error Codes and Error Handling.

Hinweis: Sie können das $links-Segment aus der URL entfernen, wenn statt Links die DirectoryObjects für die Gruppen zurückgegeben werden sollen.

Request

GET https://graph.windows.net/myorganization/contacts/{object_id}/$links/memberOf?api-version

Parameters

ParameterTypeValueNotes
URL
object_idstringThe object ID (GUID) of the target contact.
Query
api-versionstringThe version of the Graph API to target. Beginning with version 1.5, the api-version string is represented in major.minor format. Prior releases were represented as date strings: '2013-11-08' and '2013-04-05'. Required.

Requested URL

GET https://graph.windows.net/myorganization/contacts/{object_id}/$links/memberOf?api-version

Response

Status Code:200
Content-Type:
  • application/json
{
  "odata.metadata": "https://graph.windows.net/myorganization/$metadata#directoryObjects/$links/memberOf",
  "value": [
    {
      "url": "https://graph.windows.net/myorganization/directoryObjects/12345678-b942-47c9-a10e-a4bee353ce60/Microsoft.DirectoryServices.Group"
    }
  ]
}

Response List

Status CodeDescription
200OK. Indicates success. One or more groups and/or directory roles are returned.

Code Samples


Funktionen und Aktionen für Kontakte

Sie können für einen Kontakt jede der folgenden Funktionen aufrufen.

Überprüfen der Mitgliedschaft in einer bestimmten Gruppe (transitiv)

Sie können die isMemberOf-Funktion aufrufen, um auf die Mitgliedschaft in einer bestimmten Gruppe zu überprüfen. Die Überprüfung ist transitiv.

Überprüfen der Mitgliedschaft in einer Liste von Gruppen (transitiv)

Sie können die checkMemberGroups-Funktion aufrufen, um die Mitgliedschaft in einer Liste von Gruppen zu überprüfen. Die Überprüfung ist transitiv.

Abrufen aller Gruppenmitgliedschaften (transitiv)

Sie können die getMemberGroups-Funktion aufrufen, um alle Gruppen zurückzugeben, in denen der Kontakt Mitglied ist. Die Überprüfung ist transitiv, im Gegensatz zum Lesen der memberOf-Navigationseigenschaft, die nur die Gruppen zurückgibt, denen der Kontakt als direktes Mitglied angehört.


##Weitere Ressourcen

  • Weitere Informationen zu den unterstützten Features, Funktionen und Vorschaufeatures der Graph-API finden Sie in Graph-API-Konzepte.
© 2018 Microsoft