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

Twitter API GET users/suggestions/:slug/members返回重复用户问题排查

看起来你遇到的问题是调用Twitter推荐用户API时,结果始终没有更新——哪怕已经关注了返回的用户,下次调用还是拿到相同的列表对吧?结合你用的thujohn/twitter包和Laravel框架,我来帮你梳理几个最可能的问题点:

1. 先排查缓存问题

thujohn/twitter包默认会缓存API请求结果,这是很多人忽略的点!如果缓存开着,哪怕你已经关注了推荐用户,重复调用时拿到的还是旧的缓存数据,不会触发实时请求。

你可以先检查配置:

  • 如果还没发布包的配置文件,先运行:php artisan vendor:publish --provider="Thujohn\Twitter\TwitterServiceProvider"
  • 打开config/twitter.php,看看cache选项是不是设为true了。如果是,要么改成false全局关闭缓存,要么在每次API调用时强制禁用:
// 控制器里调用API时加上['cache' => false]参数
$recommendedUsers = Twitter::getUsersRecommendations(['cache' => false]);

2. 确认你调用的是正确的API端点

如果你用的是users/suggestions/:slug/members这类端点,它返回的是Twitter官方预设分类下的固定推荐用户,不是基于当前用户的个性化推荐——不管你关注多少人,这个列表都不会变。

如果需要的是和当前用户兴趣匹配的个性化推荐,应该调用users/recommendations端点(注意需要用户授权该接口权限),用包调用的方式是:

$personalizedRecs = Twitter::getUsersRecommendations(['cache' => false]);

另外,API本身不会自动过滤已关注用户,你需要自己做筛选:

// 先获取当前用户已关注的所有用户ID
$followingIds = Twitter::getFriendsIds(['screen_name' => auth()->user()->twitter_screen_name])->ids;

// 获取个性化推荐
$allRecs = Twitter::getUsersRecommendations(['cache' => false]);

// 过滤掉已关注的用户
$unfollowedRecs = collect($allRecs)->filter(function($user) use ($followingIds) {
    return !in_array($user->id, $followingIds);
});

3. 检查认证信息是否绑定了当前用户

如果你的代码只配置了应用级的consumer key/secret,没有传入当前登录用户的access token和secret,那调用的是应用级API,返回的是通用推荐,不是针对该用户的个性化结果。

确保调用API前切换到当前用户的认证信息:

// 假设你的User模型存储了twitter_token和twitter_secret字段
$currentUser = auth()->user();

// 重新配置包的认证信息
Twitter::reconfig([
    'token' => $currentUser->twitter_token,
    'secret' => $currentUser->twitter_secret,
]);

// 再调用推荐API
$personalizedRecs = Twitter::getUsersRecommendations(['cache' => false]);

4. 确认参数传递的是当前用户的信息

如果你传入的screen_name或user_id是固定值(比如测试账号),而不是当前登录用户的Twitter账号信息,结果自然不会随用户行为变化。一定要确保参数是动态的:

$params = [
    'user_id' => auth()->user()->twitter_user_id, // 或者用screen_name字段
    'cache' => false
];

$recs = Twitter::getUsersRecommendations($params);

先从缓存和API端点这两个最常见的问题入手排查,应该能解决你的问题!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:56:08