ПОЛУЧИТЬ запрос к REST API в CRM Dynamics 365 - PullRequest
1 голос
/ 27 апреля 2019

Я пытаюсь использовать «R» для извлечения таблицы сущностей из нашего CRM Microsft Dynamcis 365 с помощью REST API и запроса GET из пакета «httr».

Когда я вписываю URL конечной точки прямо в браузер, мне предлагается ввести учетные данные CRM (имя пользователя и пароль), и я могу просмотреть успешный ответ в браузере.

Когда я пытаюсь выполнить запрос GET в «R», я делаю следующее:

username <- <my CRM username>
password <- <my CRM password>
endpoint_url <- "https://<organization name>/XXX/api/data/v8.2/<endpoint>"

GET(endpoint_url, authenticate(username,password,type = "basic"))

Когда я это делаю, я получаю следующую ошибку:

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

Может кто-нибудь помочь, пожалуйста?

Очень ценится.

1 Ответ

1 голос
/ 27 апреля 2019

Я не думаю, что базовая аутентификация работает для Web API, вам нужно использовать OAuth.

Проверка подлинности в Dynamics 365 для взаимодействия с клиентами с помощью веб-API

Когда вы используете Web API для взаимодействия с клиентами или локально Развертывание с выходом в Интернет (IFD), вы должны использовать OAuth, как описано в Используйте OAuth для подключения к Dynamics 365 для взаимодействия с клиентами для приложений веб-сервисы.

Если вы создаете одностраничное приложение (SPA) с использованием JavaScript вы можете использовать библиотеку adal.js, как описано в разделе Использование OAuth с Обмен ресурсами между источниками для подключения одностраничного приложения к Dynamics 365 для взаимодействия с клиентами.

...