API de descanso online do Dynamics CRM 2016 com fluxo de OAuth de credenciais do cliente

Estou tentando me autenticar com o Dynamics CRM 2016 Online e o Azure Active Directory. Consegui seguir todos os passos aqui:

https://msdn.microsoft.com/en-us/library/mt622431.aspx ehttps://msdn.microsoft.com/en-us/library/gg327838.aspx

mas essas etapas demonstram como configurar o fluxo de autenticação de nome de usuário. Eu gostaria de usar o fluxo de credenciais do cliente. Criei um novo aplicativo no Azure AD - um aplicativo Web. Tenho um ID de cliente e uma chave de aplicativo e configuro as permissões para o Dynamics CRM Online. Consigo obter o token de acesso, mas nas chamadas subsequentes recebo este erro:

Erro HTTP 401 - Não autorizado: acesso negado

Há um passo que eu perdi? Alguém conhece uma publicação em algum lugar que fornece detalhes sobre como fazer esse fluxo funcionar?

Aqui está o meu código:

        string clientId = "<client id>";
        string appKey = "<app key>";

        // Get the authority and resource URL at runtime
        AuthenticationParameters ap = AuthenticationParameters.CreateFromResourceUrlAsync(new Uri("https://<org address>/api/data/")).Result;
        String authorityUrl = ap.Authority;
        String resourceUrl = ap.Resource;

        // Authenticate the registered application with Azure Active Directory.
        AuthenticationContext authContext = new AuthenticationContext(authorityUrl);
        ClientCredential clientCredential = new ClientCredential(clientId, appKey);

        AuthenticationResult result = authContext.AcquireToken(resourceUrl, clientCredential);

        HttpClient client = new HttpClient();
        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);
        HttpResponseMessage response = client.GetAsync("https://<org address>/api/data/v8.1/EntityDefinitions").Result;

questionAnswers(1)

yourAnswerToTheQuestion