在Microsoft Dynamics Nav 365中创建潜在客户CURL

问题描述:

早上好,在Microsoft Dynamics Nav 365中创建潜在客户CURL

我试图在PHP CURL脚本中创建Microsoft Dynamics NAV 365中的领导实体。但是我一直在我的C​​URL响应中收到“HTTP错误401 - 未经授权:访问被拒绝”。然而,我可以通过网络界面创建一个领先优势。

我已经按照MSDN文档网站上的说明从lead entity type创建了我的对象。

下面是我的代码:

$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); 
+0

我认为代码只是发送一个用户/传递组合作为basicAuth。如果Dynamics允许基本身份验证,它会感到惊讶。也许阅读https://msdn.microsoft.com/en-us/library/gg327838.aspx - 我认为你需要使用OAuth。 – ADyson

+0

您能否详细说明您的Dynamics认证机制?你在使用CBA还是IFD? –

+0

Hi @MattL - 恐怕我不知道:(你能指点我的意思吗?我正在努力寻找任何有关PHP的可行文档Dynamics。 –

你需要事先得到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>', 
),