2016-04-07 5 views
2

Ich muss Formular auf einer Webseite implementieren, die Daten an Microsoft Dynamics CRM sendet, wenn sie übermittelt werden. Die Daten müssen in einem bestimmten Lead gespeichert werden.Microsoft Dynamics CRM und PHP/JSON

Ich habe ein einfaches PHP-Skript erstellt, das curl verwendet, um mit dem CRM-Server zu kommunizieren, aber ich bekomme immer 401 Statuscode, der anzeigt, dass die Autorisierung fehlgeschlagen ist.

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>'; 

Die $method var Inhalte werden von Beispiel genommen, dass ich irgendwo auf der Microsoft-Dokumentation Website gefunden. Die Dokumentation war nicht sehr hilfreich für mich.

Antwort

0

Sie können dies mithilfe der SOAP-Authentifizierung tun. Ich habe dieselbe Anforderung, wo wir Daten von der PHP-Website zu Dynamics 365 online senden müssen. Ich habe es mit Quellcode von unten Link erreicht:

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