Abrufen von Benutzerrollen für einen Kunden

Dient zum Abrufen einer Liste aller Rollen/Berechtigungen, die einem Benutzerkonto zugeordnet sind. Variationen umfassen das Abrufen einer Liste aller Berechtigungen für alle Benutzerkonten für einen Kunden und das Abrufen einer Liste von Benutzern, die über eine bestimmte Rolle verfügen.

Voraussetzungen

  • Anmeldeinformationen, wie unter Partner Center-Authentifizierung beschrieben. In diesem Szenario wird Authentifizierung nur mit App- und Benutzeranmeldeinformationen unterstützt.

  • Eine Kunden-ID (customer-tenant-id). Wenn Sie die KUNDEN-ID nicht kennen, können Sie sie im Partner Center nachschlagen, indem Sie den Arbeitsbereich "Kunden " und dann den Kunden aus der Kundenliste und dann "Konto" auswählen. Suchen Sie auf der Seite "Konto" des Kunden im Abschnitt "Kundenkontoinformationen" nach der Microsoft-ID. Die Microsoft-ID entspricht der Kunden-ID (customer-tenant-id).

GDAP-Rollen

Sie benötigen mindestens eine der folgenden GDAP-Rollen:

  • Verzeichnis lesen
  • Globaler Leser
  • Benutzeradministrator
  • Administrator für privilegierte Rollen
  • Verzeichnis schreiben

C#

Um alle Verzeichnisrollen für einen angegebenen Kunden abzurufen, rufen Sie zuerst die angegebene Kunden-ID ab. Verwenden Sie dann Ihre IAggregatePartner.Customers-Auflistung , und rufen Sie die ById()- Methode auf. Rufen Sie dann die DirectoryRoles-Eigenschaft auf, gefolgt von der Get()- oder GetAsync()-Methode.

// string selectedCustomerId;
// IAggregatePartner partnerOperations;

var directoryRoles = partnerOperations.Customers.ById(selectedCustomerId).DirectoryRoles.Get();

Beispiel: Konsolentest-App. Projekt: Partner Center SDK Samples Class: GetCustomerDirectoryRoles.cs

Um eine Liste von Kundenbenutzern abzurufen, die über eine bestimmte Rolle verfügen, rufen Sie zuerst die angegebene Kunden-ID und die Verzeichnisrollen-ID ab. Verwenden Sie dann Ihre IAggregatePartner.Customers-Auflistung , und rufen Sie die ById()- Methode auf. Rufen Sie dann die DirectoryRoles-Eigenschaft , dann byId() -Methode, dann die UserMembers -Eigenschaft, gefolgt von der Get() - oder GetAsync() -Methode auf.

// string selectedCustomerId;
// IAggregatePartner partnerOperations;
// string selectedDirectoryRoleId;

var userMembers = partnerOperations.Customers.ById(selectedCustomerId).DirectoryRoles.ById(selectedDirectoryRoleId).UserMembers.Get();

Beispiel: Konsolentest-App. Projekt: PartnerSDK.FeatureSamples-Klasse: GetCustomerDirectoryRoleUserMembers.cs

REST-Anforderung

Anforderungssyntax

Methode Anforderungs-URI
GET {baseURL}/v1/customers/{customer-tenant-id}/users/{user-id}/directoryroles HTTP/1.1
GET {baseURL}/v1/customers/{customer-tenant-id}/directoryroles HTTP/1.1
GET {baseURL}/v1/customers/{customer-tenant-id}/directoryroles/{role-ID}/usermembers

URI-Parameter

Verwenden Sie den folgenden Abfrageparameter, um den richtigen Kunden zu identifizieren.

Name Typ Erforderlich Beschreibung
customer-tenant-id guid J Der Wert ist eine GUID-formatierte Kundenmandanten-ID , die es dem Händler ermöglicht, die Ergebnisse für einen bestimmten Kunden zu filtern, der zum Händler gehört.
Benutzer-ID guid N Der Wert ist eine GUID- formatierte Benutzer-ID , die zu einem einzelnen Benutzerkonto gehört.
role-id guid N Der Wert ist eine guiD formatierte Rollen-ID , die zu einem Rollentyp gehört. Sie können diese IDs abrufen, indem Sie für alle Benutzerkonten alle Verzeichnisrollen für einen Kunden abfragen. (Das zweite Szenario oben).

Anforderungsheader

Weitere Informationen finden Sie unter Partner Center-REST-Header.

Anforderungstext

Beispiel für eine Anfrage

GET https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/users/<user-id>/directoryroles HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: b1317092-f087-471e-a637-f66523b2b94c
MS-CorrelationId: 8a53b025-d5be-4d98-ab20-229d1813de76

REST-Antwort

Bei erfolgreicher Ausführung gibt die Methode eine Liste der Rollen zurück, die dem angegebenen Benutzerkonto zugeordnet sind.

Erfolgs- und Fehlercodes der Antwort

Jede Antwort enthält einen HTTP-Statuscode, der Aufschluss darüber gibt, ob der Vorgang erfolgreich war, sowie ggf. zusätzliche Debuginformationen. Verwende ein Tool für die Netzwerkablaufverfolgung, um diesen Code, den Fehlertyp und zusätzliche Parameter zu lesen. Die vollständige Liste findest du unter Partner-API: REST-Fehlercodes.

Beispielantwort

HTTP/1.1 200 OK
Content-Length: 31942
Content-Type: application/json
MS-CorrelationId: 8a53b025-d5be-4d98-ab20-229d1813de76
MS-RequestId: b1317092-f087-471e-a637-f66523b2b94c
Date: June 24 2016 22:00:25 PST

{
      "totalCount": 2,
      "items": [
        {
          "name": "Helpdesk Administrator",
          "id": "729827e3-9c14-49f7-bb1b-9608f156bbb8",
          "attributes": { "objectType": "DirectoryRole" }
        },
        {
          "name": "User Account Administrator",
          "id": "fe930be7-5e62-47db-91af-98c3a49a38b1",
          "attributes": { "objectType": "DirectoryRole" }
        }
      ],
      "attributes": { "objectType": "Collection" }
}