Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从Hubspot API获取联系人的完整列表_Php_Api_Hubspot - Fatal编程技术网

Php 从Hubspot API获取联系人的完整列表

Php 从Hubspot API获取联系人的完整列表,php,api,hubspot,Php,Api,Hubspot,Hubspot的API允许您检索联系人列表,但它只允许每次呼叫最多100个联系人 我通过这个电话做到这一点: $contacts_batch1 = $contacts->get_all_contacts(array( 'count' => '100')); 如果我想得到下一个100,我会这样做: $offset1 = $contacts_batch1->{'vid-offset'}; $contacts_batch2 = $contacts->get_all_cont

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偏移量,然后如何将其作为参数自动放入下一个变量中

下面是一个使用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";

?>