Динамический API-интерфейс Dynamics CRM 2016 с учетными данными клиента OAuth-поток

Я пытаюсь пройти проверку подлинности с помощью Dynamics CRM 2016 Online и Azure Active Directory. Я был в состоянии выполнить все шаги здесь:

https://msdn.microsoft.com/en-us/library/mt622431.aspx а такжеhttps://msdn.microsoft.com/en-us/library/gg327838.aspx

но эти шаги демонстрируют, как настроить поток аутентификации имени пользователя. Я хотел бы использовать поток учетных данных клиента. Я создал новое приложение в Azure AD - веб-приложение. У меня есть идентификатор клиента и ключ приложения, и я настраиваю разрешения для Dynamics CRM Online. Я могу получить токен доступа, но при последующих вызовах я получаю эту ошибку:

Ошибка HTTP 401 - неавторизовано: доступ запрещен

Есть ли шаг, который я пропустил? Кто-нибудь знает где-нибудь пост, в котором подробно рассказывается, как заставить этот поток работать?

Вот мой код:

        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;

Ответы на вопрос(1)

Ваш ответ на вопрос