Как использовать php curl для получения контактов из icontact? - PullRequest
3 голосов
/ 27 октября 2011

Я пытаюсь получить список контактов для моей учетной записи в iContact, используя скрипт php. Я могу получить список контактов, используя RestClient, введя набор заголовков, URL-адрес и нажав go, так что я почти уверен, что мои заголовки и URL-адреса верны. 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.

1 Ответ

3 голосов
/ 02 ноября 2011

Проблема была не с кодом, это было нормально.Я не мог запустить его и получить ответ от своего локального хоста, хотя должен был использовать публичный сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...