You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HubSpot API问题:无法获取近2分钟修改联系人,返回两天前数据

问题原因及解决方案

你的问题出在时间戳单位不匹配和多余的日期转换步骤上:

HubSpot CRM v3 API的lastmodifieddate过滤器要求传入的时间值是毫秒级Unix时间戳,或是带时区信息的ISO 8601格式日期字符串。你当前传入的是秒级时间戳,HubSpot会将其当作毫秒级处理——这相当于把过滤时间设置到了几十年前,自然会返回所有旧联系人,漏掉最近修改的。

另外,你代码里把strtotime('-2 minutes')的结果转成日期字符串再重新转成时间戳的步骤完全多余,还可能引入时区解析误差。


修正后的代码方案

方案1:使用毫秒级Unix时间戳

date_default_timezone_set('America/Chicago');
// 直接获取2分钟前的秒级时间戳,转换为毫秒级
$pastUnixMs = strtotime('-2 minutes') * 1000;
echo "UnixTime (ms):". $pastUnixMs;

$url = 'https://api.hubapi.com/crm/v3/objects/contacts/search';
$filters = [
     [
         "propertyName" => "lastmodifieddate",
         "operator" => "GTE",
         "value" =>  $pastUnixMs
     ]
 ];

方案2:使用ISO 8601格式带时区的时间字符串

date_default_timezone_set('America/Chicago');
// 生成包含时区偏移的ISO 8601格式时间
$pastIso = date("c", strtotime('-2 minutes'));
echo "ISO Time:". $pastIso;

$url = 'https://api.hubapi.com/crm/v3/objects/contacts/search';
$filters = [
     [
         "propertyName" => "lastmodifieddate",
         "operator" => "GTE",
         "value" =>  $pastIso
     ]
 ];

测试时可以先打印出时间值,确认是当前时间往前推2分钟的正确值,再传入API即可获取到最近修改的联系人。

内容的提问来源于stack exchange,提问作者Dilion Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 20:56:12