我正在尝试使用php脚本在iContact中获取我的帐户的联系人列表。我可以使用RestClient获取联系人列表,输入标题集,网址并按下go,这样我很确定我的标题和网址是正确的。 iContact提供了此任务的示例代码,但是当我运行它时(使用我的帐户和ap详细信息),我得到的响应与运行以下代码时的响应相同:
<?php
$Headers = array(
"Accept: text/xml",
"Content-Type: text/xml",
"API-Version: 2.2",
"API-AppId: grBddgWuirhAYT41K6gvrvRGaUGJFVQL",
"API-Username: <removed>",
"API-Password: <removed>");
$Url = "https://app.sandbox.icontact.com/icp/a/412608/c/123920/contacts";
$Handle = curl_init();
if(!$Handle)
{
die("Could not create a cURL handle.");
}
curl_setopt($Handle, CURLOPT_URL, $Url);
curl_setopt($Handle, CURLOPT_HTTPHEADER, $Headers);
curl_setopt($Handle, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110303 Ubuntu/10.04 (lucid) Firefox/3.6.15");
curl_setopt($Handle, CURLOPT_RETURNTRANSFER, true);
$Response = curl_exec($Handle);
$iCode = curl_getinfo($Handle);
echo "Response: <br />";
print_r($Response);
echo "<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />";
echo "Code: <br />";
print_r($iCode);
curl_close($Handle);
?>
这给出了输出:
Response:
Code:
Array ( [url] => https://app.sandbox.icontact.com/icp/a/412608/c/123920/contacts [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.094 [namelookup_time] => 0 [connect_time] => 0.094 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 )
根据我对curl的理解(目前不是很多),http_code应该是200,而xml应该是$ Response。
有人能指出我做错了吗?
iContact示例可在此处获得: http://developer.icontact.com/documentation/code-library-zip-file/
我正在尝试做get_contacts.php应该做的事情。
答案 0 :(得分:3)
问题不在于代码,这很好。 我无法运行它并从我的localhost获得响应,但必须使用公共服务器。