2015-06-22 24 views
2

Hubspot的API允許您檢索聯繫人列表,但每次只允許最多100個聯繫人。從Hubspot API獲取聯繫人的完整列表

我做的這個電話:

$contacts_batch1 = $contacts->get_all_contacts(array('count' => '100')); 

然後,如果我想在未來100我這樣做:

$offset1 = $contacts_batch1->{'vid-offset'}; 

$contacts_batch2 = $contacts->get_all_contacts(array('count' => '100', 'vidOffset'=>$offset1)); 

我試圖讓所有的聯繫人,而不必每次我想要下一個100時創建一個新變量。我的第一個問題是如何獲得最後一組的vid-offset,然後如何將它作爲參數自動添加到下一個變量中。

回答

2

下面是使用HubSpot的API將所有聯繫人存入一個數組的示例。

<?php 
require "haPiHP/class.contacts.php"; 
require "haPiHP/class.exception.php"; 
define("HUBSPOT_API_KEY", "<YOUR API KEY HERE>"); 

$contacts = new HubSpot_Contacts(HUBSPOT_API_KEY); 

$all_contacts = array(); 

do 
{ 
    $params = array("count" => 100); 
    if (isset($vidOffset)) 
    { 
     $params["vidOffset"] = $vidOffset; 
    } 

    echo "count=" . $params["count"] . (isset($params["vidOffset"]) ? ", vidOffset=" . $params["vidOffset"] : "") . "\n"; 

    $some_contacts = $contacts->get_all_contacts($params); 
    if ($some_contacts !== NULL) 
    { 
     $all_contacts = array_merge($all_contacts, $some_contacts->contacts); 
    } 
    else 
    { 
     break; 
    } 

    $vidOffset = $some_contacts->{'vid-offset'}; 

} while ($some_contacts->{'has-more'}); 

echo "Received " . count($all_contacts) . " contacts.\n"; 

?> 
相關問題