добавить новую запись в CRM с помощью веб-API - PullRequest
1 голос
/ 24 марта 2019

Я пытаюсь добавить записи в CRM, используя Javascript, но получаю:

401 Несанкционированная ошибка.

Мой вопрос - как получить токен и использовать его внутри функции JavaScript.

$(document).ready(function() {
  $("#Save").click(function() {
    var ProductDetails = new Object();
    ProductDetails.ProductName = $("#txt_productName").val();
    ProductDetails.ProductDetail = $("#txt_desc").val();

    $.ajax({
      url: "https://mycrm.dynamics.com/api/data/v9.1/Products",
      type: "Post",
      dataType: 'JSON',
      data: ProductDetails,
      contentType: 'application/x-www-form-urlencoded',
      success: function(data) {
        alert('Updated Successfully');

      },
      error: function(request, status, error) {
        alert(request.status);
      }
    });
  });
});

Ответы [ 2 ]

1 голос
/ 24 марта 2019

Вам необходимо добавить информацию об авторизации в заголовке Http.Вот пример, если вы используете JWT.

$(document).ready(function() {
  $("#Save").click(function() {
    var ProductDetails = new Object();
    ProductDetails.ProductName = $("#txt_productName").val();
    ProductDetails.ProductDetail = $("#txt_desc").val();

    $.ajax({
      url: "https://mycrm.dynamics.com/api/data/v9.1/Products",
      type: "Post",
      headers: {
        'Accept':'application/json',
        'Content-Type':'application/json',
        'Authorization':'Bearer your token here'
     },
      dataType: 'JSON',
      data: ProductDetails,
      contentType: 'application/x-www-form-urlencoded',
      success: function(data) {
        alert('Updated Successfully');

      },
      error: function(request, status, error) {
        alert(request.status);
      }
    });
  });
});
0 голосов
/ 24 марта 2019

Вы должны добавить заголовок с токеном на предъявителя следующим образом:

$.ajax({
(...)
headers: {
  "Authorization": "Bearer " + token
},
(...)

Чтобы получить токен, сначала необходимо зарегистрировать приложение в Azure Active Directory в том же клиенте, что и экземпляр Dynamics 365. Проверьте эту ссылку , если вам нужно подробное пошаговое руководство, чтобы сделать это.

После регистрации приложения в AAD вам также необходимо добавить код для аутентификации в Azure и получения токена. ADAL.js выполняет эту работу за вас, но имейте в виду, что он предлагает пользователю вручную добавить свое имя пользователя и пароль во всплывающем окне Office 365. Это называется интерактивной аутентификацией, и, насколько я знаю, ее нельзя избежать.

Чтобы увидеть полный рабочий пример HTML + JS, нажмите здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...