Всем доброе утро,
Я пытаюсь создать ведущую сущность в Microsoft Dynamics NAV 365 из сценария php CURL. Однако я продолжаю получать «Ошибка HTTP 401 — неавторизовано: доступ запрещен» в моем ответе CURL. Я могу, однако, создать лидерство через веб-интерфейс в порядке.
Я создал свой объект из тип ведущего объекта как описано на веб-сайте документации MSDN.
Ниже мой код:
$lead = array('person' =>
array(
'topic' => 'WEB LEAD',
'name' => $fullname,
'firstname' => $firstname,
'lastname' => $lastname,
'companyname' => $company,
'telephone1' => $telephone,
'emailaddress1' => $email,
'description' => $comment,
),
);
$dynamics = $url . '/api/data/v8.2/leads';
$ch = curl_init($dynamics);
$options = array(
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json; charset=utf-8',
'OData-MaxVersion: 4.0',
'OData-Version: 4.0',
'Accept: application/json',
),
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_USERPWD, 'username:password',
CURLOPT_POSTFIELDS => json_encode($lead),
);
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$responseInfo = curl_getinfo($ch);
curl_close($ch);
Вам необходимо предварительно получить токен авторизации от AAD
После того, как вы получите весь токен, вам нужно добавить авторизацию в заголовок http запроса.
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json; charset=utf-8',
'OData-MaxVersion: 4.0',
'OData-Version: 4.0',
'Accept: application/json',
'Authorization: <put the token here completly with name>',
),
Других решений пока нет …