gpt4 book ai didi

PHP curl 与 Microsoft Dynamics CRM 2011 对话

转载 作者:可可西里 更新时间:2023-11-01 01:06:05 25 4
gpt4 key购买 nike

我正在尝试从位于远程主机上的 Microsoft Dynamics CRM 2011 Online 提取一些数据;如果我手动(从浏览器)登录并从在 Linux 主机上运行 PHP 的服务器执行我的操作,它就可以工作,但是我当然想在没有我的中介的情况下进行身份验证和运行 CRUD 操作:)。

但它一直显示“对象已移至此处”。页面进行身份验证。如果我设置 CURLOPT_FOLLOWLOCATION => 1,它会显示 crm 的登录页面。

如果有人可以提出解决问题的任何线索......谢谢!

<?php

$useragent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1";
$urlValue = "/LeadSet?$select=Address1_City,FirstName,LastName";

$username = "domain\user";
$pass = "pass";


$handle = curl_init();
curl_setopt_array($handle,
array (
CURLOPT_USERAGENT => $useragent,
CURLOPT_USERPWD => $username . ':' . $pass,
CURLOPT_HTTPAUTH => CURLAUTH_ANY,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_URL => 'https://myhost.com/xrmservices/2011/OrganizationData.svc',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $urlValue,
CURLOPT_RETURNTRANSFER => true,
)
);

$response = curl_exec($handle);
curl_close($handle);

header('Content-Type: text/plain;');
print_r($response);

最佳答案

我解决了通过 ntml 进行身份验证的问题,此代码显示了如何以 JSON 格式从 CRM 检索联系人。

$url='http://<server_adress>/organizationName/XRMServices/2011/OrganizationData.svc/ContactSet';
$ch = curl_init();
$headers = array(
'Method: GET',
'Connection: keep-alive',
'User-Agent: PHP-SOAP-CURL',
'Content-Type: application/json; charset=utf-8',
'Accept: application/json',
'Host <server network adress>');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
curl_setopt($ch, CURLOPT_USERPWD, '<user>:<password>');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
//echo $response;
$array=json_decode($response, true);
$size=count($array['d']['results']);
echo "Numero de registos:".$size."<p>";
echo "Contactos:<p>";
for($i=0;$i<$size;$i++){
echo "Nome: ". $array['d']['results'][$i]['FullName']."<p>";
echo "Cidade: ". $array['d']['results'][$i]['Address1_City']."<p>";
echo "Emprego: ". $array['d']['results'][$i]['JobTitle']."<p>";
echo "Morada: ". $array['d']['results'][$i]['Address1_Name']."<p>";
echo "Telefone: ". $array['d']['results'][$i]['Address1_Telephone1']."<p>";
echo "Email: ". $array['d']['results'][$i]['EMailAddress1']."<p>";
echo "Pais: ". $array['d']['results'][$i]['Address1_Country']."<p>";
echo "Codigo-postal: ". $array['d']['results'][$i]['Address1_PostalCode']."<p>";
echo "Criado por: ". $array['d']['results'][$i]['CreatedBy']['Name']."<p>";
echo "...................................................................................<p>";
}

如果有人知道如何在 rest 端点进行 crud 操作,请告诉我。

关于PHP curl 与 Microsoft Dynamics CRM 2011 对话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10669377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com