Microsoft Dynamics CRM и PHP / JSON

Я должен реализовать форму на веб-странице, которая отправляет данные в Microsoft Dynamics CRM при представлении. Данные должны быть сохранены в определенном направлении.

Я создал простой скрипт PHP, который использует curl для связи с сервером CRM, но я всегда получаю 401 код состояния, который указывает, что авторизация не удалась.

define('MS_CRM_URL', 'https://______.crm.dynamics.com/');
define('MS_CRM_USER', '[email protected]');
define('MS_CRM_PASS', 'password');
$method = '/api/data/v8.0/accounts?$select=name&$top=3';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, MS_CRM_URL . $method);
curl_setopt($ch, CURLOPT_USERPWD, MS_CRM_USER .':'. MS_CRM_PASS);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(

));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Accept' => 'application/json',
'OData-MaxVersion' => '4.0',
'OData-Version' => '4.0',
'Content-Type' => 'application/json',
));

$server_output = curl_exec($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

curl_close($ch);

$json = array();
if ((int)$status_code === 200) {
$json = json_decode($server_output);
}

echo '<pre>';
var_dump($status_code);
var_dump($json);
echo '</pre>';

$method Содержимое var взято из примера, который я нашел где-то на сайте документации Microsoft. Документация была не очень полезна для меня.

2

Решение

Вы уже видели это? http://jlattimer.blogspot.com/2015/02/soap-only-authentication-using-php.html

Кроме того, похоже, что есть библиотека ADAL для PHP. https://github.com/jamesmcq/azure-activedirectory-library-for-php Вы должны быть в состоянии подтвердить подлинность, используя это.

1

Другие решения

Вы можете сделать это с помощью аутентификации SOAP. У меня такое же требование, когда нам нужно отправлять данные в Dynamics 365 онлайн с веб-сайта PHP. Я добился этого, используя исходный код по ссылке ниже:

https://bitbucket.org/nigelheap/msdynamicsphp-master

0

По вопросам рекламы [email protected]