Hubspot的API允许您检索联系人列表,但每次呼叫最多只允许100次。
我通过这个电话来做到这一点:
$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,然后如何我把它作为参数自动放入下一个变量。
答案 0 :(得分:3)
以下是使用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";
?>