首先,在有人暗示之前,我并不是在寻求特定于API的帮助。我在咨询Active Campaign's API时遇到了一个奇怪的问题。
我正在使用一个特定的端点,即GET contacts
端点。通常,此终结点没有任何问题,但是在特定情况下,我使用segmentid
get参数时,我与信息不一致。
我正在使用两种方式获取API。其中一个是Postman,另一个是我的代码,该代码使用php的Guzzle http客户端。
当我在Postman中咨询时,在第一个结果上,我得到一个奇怪的变量,说waiting => true
,而我的contacts
数组为空。当我再次查询完全相同的端点时,变量waiting
消失了,我得到了对应的通讯录数组,其中填充了对应的结果。因此,基本上的想法是,如果我第二次这样做,我会得到结果。
另一方面,现在,使用我的代码,我正在执行完全相同的终结点请求,并且尝试重复两次该请求,两次都得到waiting => true
完全相同的结果。我什至尝试了以下方法:
foreach($segments as $index => $segment) {
$segments[$index]['contacts'] = $this->ac->get_contacts(array(), $segment['id'], 'desc', 1, 30, 0);
while($segments[$index]['contacts']->meta->waiting == true) {
usleep(250000);
$segments[$index]['contacts'] = $this->ac->get_contacts(array(), $segment['id'], 'desc', 1, 30, 0);
}
}
但是即使这样,它仍然会永远请求,结果永远不会改变,最终我会收到504错误。
现在我的主要问题是:在获取信息的两种方式之间,同一端点的结果如何变化,我是否缺少一些参数,或者为了复制与Postman相同的行为,我需要什么?为了获得信息?
Api令牌是相同的,端点是相同的。