Obter funções de utilizador para um cliente
Obtenha uma lista de todas as funções/permissões anexadas a uma conta de usuário. As variações incluem obter uma lista de todas as permissões em todas as contas de usuário para um cliente e obter uma lista de usuários que têm uma determinada função.
Pré-requisitos
Credenciais conforme descrito na autenticação do Partner Center. Este cenário suporta autenticação apenas com credenciais App+User.
Um ID de cliente (
customer-tenant-id
). Se não souber o ID do cliente, pode procurá-lo no Partner Center selecionando a área de trabalho Clientes e, em seguida, o cliente na lista de clientes e, em seguida, Conta. Na página Conta do cliente, procure a ID da Microsoft na seção Informações da Conta do Cliente. A ID da Microsoft é a mesma que a ID do cliente (customer-tenant-id
).
Funções GDAP
Você precisará de pelo menos uma das seguintes funções GDAP:
- Leitor de Diretórios
- Leitor global
- Administrador de Utilizadores
- Administrador de Funções com Privilégios
- Escritores de Diretórios
C#
Para recuperar todas as funções de diretório para um cliente especificado, primeiro recupere o ID do cliente especificado. Em seguida, use sua coleção IAggregatePartner.Customers e chame o método ById(). Em seguida, chame a propriedade DirectoryRoles, seguida pelo método Get() ou GetAsync().
// string selectedCustomerId;
// IAggregatePartner partnerOperations;
var directoryRoles = partnerOperations.Customers.ById(selectedCustomerId).DirectoryRoles.Get();
Exemplo: Aplicativo de teste de console. Projeto: Exemplo de SDK do Partner Center Classe: GetCustomerDirectoryRoles.cs
Para recuperar uma lista de usuários clientes que têm uma determinada função, primeiro recupere o ID do cliente especificado e o ID da função de diretório. Em seguida, use sua coleção IAggregatePartner.Customers e chame o método ById(). Em seguida, chame a propriedade DirectoryRoles, depois o método ById(), depois a propriedade UserMembers, seguido pelo método Get() ou GetAsync().
// string selectedCustomerId;
// IAggregatePartner partnerOperations;
// string selectedDirectoryRoleId;
var userMembers = partnerOperations.Customers.ById(selectedCustomerId).DirectoryRoles.ById(selectedDirectoryRoleId).UserMembers.Get();
Exemplo: Aplicativo de teste de console. Projeto: PartnerSDK.FeatureSamples Classe: GetCustomerDirectoryRoleUserMembers.cs
Pedido REST
Sintaxe da solicitação
Método | URI do pedido |
---|---|
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 |
Parâmetro URI
Use o parâmetro de consulta a seguir para identificar o cliente correto.
Nome | Type | Obrigatório | Descrição |
---|---|---|---|
ID do cliente-locatário | GUID | Y | O valor é um ID de cliente-locatário formatado em GUID que permite ao revendedor filtrar os resultados de um determinado cliente que pertence ao revendedor. |
ID de utilizador | GUID | N | O valor é um ID de usuário formatado em GUID que pertence a uma única conta de usuário. |
ID da função | GUID | N | O valor é um ID de função formatado em GUID que pertence a um tipo de função. Você pode obter essas IDs consultando todas as funções de diretório de um cliente, em todas as contas de usuário. (O segundo cenário, acima). |
Cabeçalhos do pedido
Para obter mais informações, consulte Cabeçalhos REST do Partner Center.
Corpo do pedido
Exemplo de solicitação
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: aaaa0000-bb11-2222-33cc-444444dddddd
Resposta do REST
Se for bem-sucedido, esse método retornará uma lista das funções associadas à conta de usuário fornecida.
Códigos de sucesso e erro de resposta
Cada resposta vem com um código de status HTTP que indica sucesso ou falha e informações adicionais de depuração. Use uma ferramenta de rastreamento de rede para ler esse código, tipo de erro e parâmetros adicionais. Para obter a lista completa, consulte Códigos de erro.
Exemplo de resposta
HTTP/1.1 200 OK
Content-Length: 31942
Content-Type: application/json
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
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" }
}