在Microsoft Dynamics Nav 365中创建潜在客户CURL
问题描述:
早上好,在Microsoft Dynamics Nav 365中创建潜在客户CURL
我试图在PHP CURL脚本中创建Microsoft Dynamics NAV 365中的领导实体。但是我一直在我的CURL响应中收到“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);
答
你需要事先得到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>',
),
我认为代码只是发送一个用户/传递组合作为basicAuth。如果Dynamics允许基本身份验证,它会感到惊讶。也许阅读https://msdn.microsoft.com/en-us/library/gg327838.aspx - 我认为你需要使用OAuth。 – ADyson
您能否详细说明您的Dynamics认证机制?你在使用CBA还是IFD? –
Hi @MattL - 恐怕我不知道:(你能指点我的意思吗?我正在努力寻找任何有关PHP的可行文档Dynamics。 –