Delen via


Gebruikersrollen voor een klant ophalen

Haal een lijst op met alle rollen/machtigingen die zijn gekoppeld aan een gebruikersaccount. Variaties omvatten het ophalen van een lijst met alle machtigingen voor alle gebruikersaccounts voor een klant en het ophalen van een lijst met gebruikers met een bepaalde rol.

Vereisten

  • Referenties zoals beschreven in verificatie in partnercentrum. Dit scenario biedt alleen ondersteuning voor verificatie met app+gebruikersreferenties.

  • Een klant-id (customer-tenant-id). Als u de klant-id niet weet, kunt u deze opzoeken in het Partnercentrum door de werkruimte Klanten te selecteren, vervolgens de klant in de lijst met klanten en vervolgens Account. Zoek op de pagina Account van de klant naar de Microsoft-id in de sectie Klantaccountgegevens . De Microsoft-id is hetzelfde als de klant-id (customer-tenant-id).

GDAP-rollen

U hebt ten minste een van de volgende GDAP-rollen nodig:

  • Maplezer
  • Globale lezer
  • Gebruikersbeheerder
  • Beheerder voor bevoorrechte rollen
  • Adreslijstschrijvers

C#

Als u alle directoryrollen voor een opgegeven klant wilt ophalen, moet u eerst de opgegeven klant-id ophalen. Gebruik vervolgens uw verzameling IAggregatePartner.Customers en roep de Methode ById() aan. Roep vervolgens de eigenschap DirectoryRoles aan, gevolgd door de methode Get() of GetAsync().

// string selectedCustomerId;
// IAggregatePartner partnerOperations;

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

Voorbeeld: consoletest-app. Project: Voorbeeldklasse partnercentrum-SDK: GetCustomerDirectoryRoles.cs

Als u een lijst met klantgebruikers met een bepaalde rol wilt ophalen, moet u eerst de opgegeven klant-id en de directoryrol-id ophalen. Gebruik vervolgens uw verzameling IAggregatePartner.Customers en roep de Methode ById() aan. Roep vervolgens de eigenschap DirectoryRoles aan en vervolgens de methode ById() en vervolgens de eigenschap UserMembers, gevolgd door de methode Get() of GetAsync().

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

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

Voorbeeld: consoletest-app. Project: Klasse PartnerSDK.FeatureSamples: GetCustomerDirectoryRoleUserMembers.cs

REST-aanvraag

Aanvraagsyntaxis

Method Aanvraag-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

Gebruik de volgende queryparameter om de juiste klant te identificeren.

Naam Type Vereist Beschrijving
klant-tenant-id Guid Y De waarde is een door een GUID opgemaakte klant-tenant-id waarmee de reseller de resultaten kan filteren op een bepaalde klant die deel uitmaakt van de reseller.
user-id Guid N De waarde is een gebruikers-id met EEN GUID-indeling die deel uitmaakt van één gebruikersaccount.
role-id Guid N De waarde is een door de GUID opgemaakte rol-id die deel uitmaakt van een type rol. U kunt deze id's ophalen door een query uit te voeren op alle directoryrollen voor een klant, in alle gebruikersaccounts. (Het tweede scenario hierboven).

Aanvraagheaders

Zie Rest-headers in Partnercentrum voor meer informatie.

Aanvraagtekst

Aanvraagvoorbeeld

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-antwoord

Als dit lukt, retourneert deze methode een lijst met de rollen die zijn gekoppeld aan het opgegeven gebruikersaccount.

Geslaagde antwoorden en foutcodes

Elk antwoord wordt geleverd met een HTTP-statuscode die aangeeft dat de fout is geslaagd of mislukt en aanvullende informatie over foutopsporing. Gebruik een hulpprogramma voor netwerktracering om deze code, het fouttype en aanvullende parameters te lezen. Zie Foutcodes voor de volledige lijst.

Responsvoorbeeld

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" }
}