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

如何用PHP通过Twitter API获取关注者关注日期并制作折线图

获取Twitter关注者的关注日期

嗨,刚好碰到过类似的问题!你当前用的followers/list.json端点(Twitter API v1.1)确实不会返回关注者关注你的日期信息——这个接口只提供关注者的基础用户数据,完全不涉及关注关系的时间戳。

要拿到关注日期,你需要分两步操作:

1. 先批量获取所有关注者的ID

推荐先用followers/ids.json端点拿到所有关注者的ID列表,这个接口的速率限制比followers/list宽松很多,适合批量拉取:

$parameters = array('count' => 5000); // 单次请求最多可获取5000个ID
$response = $this->api->get('followers/ids.json', $parameters);
$followerIds = $response->ids;

2. 查询每个关注者的关注关系时间

接下来,针对每个关注者的ID,调用friendships/show.json接口,传入你的用户ID(或用户名)和目标关注者的ID,这个接口会返回包含关注关系创建时间的详细数据。

单个关注者的查询示例:

// 替换成你的用户ID(或screen_name),以及目标关注者的ID
$parameters = array(
    'source_id' => '你的用户ID',
    'target_id' => '某关注者的ID'
);
$relationship = $this->api->get('friendships/show.json', $parameters);

// 提取关注者关注你的时间戳:先确认对方仍在关注你,再取创建时间
$followedAt = $relationship->relationship->source->followed_by 
    ? $relationship->relationship->created_at 
    : null;

关键注意点:

  • 速率限制要重视:friendships/show在v1.1的普通用户认证下,每15分钟只能发15次请求。如果你的关注者很多,一定要做节流处理——比如分批请求、添加延迟,避免触发限制被封号。
  • API v2的更优方案:如果可以切换到Twitter API v2,推荐用users/:source_user_id/following/:target_user_id端点,它直接返回关注关系的created_at字段,而且速率限制更友好,批量操作效率更高。
  • 异常处理:要考虑用户已取消关注的情况,此时followed_by会返回false,对应的created_at就没有参考价值了,需要过滤掉这类数据。

拿到followedAt时间戳后,你就可以把它转换成合适的格式,用来生成折线图的时间轴数据啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:58:37