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

Twitter API V2获取账号关注者遇client-not-enrolled错误求助

解决Twitter API v2获取关注者时的client-not-enrolled错误

问题背景

已升级至每月100美元的Basic计划(官方明确支持获取关注者列表),应用已关联带有V2 ACCESS标签的项目,但调用/users/{user_id}/followers端点时,仍返回client-not-enrolled错误,使用Tweepy库也出现相同问题,且官方文档部分链接无效。

排查与解决步骤

  • 确认Bearer Token的归属应用
    避免使用未关联付费项目的旧应用Token:

    1. 进入开发者后台的目标项目,检查Apps标签,确认你的应用在该项目下
    2. 进入应用的Keys and Tokens页面,重新生成Bearer Token,替换脚本中的旧Token
  • 验证应用权限配置
    Basic计划的/users/{id}/followers端点需要follows.read权限:

    1. 进入应用的Permissions and Features标签,确认已开启Read或Read and write权限(包含follows.read)
    2. 修改权限后必须重新生成Bearer Token,新权限才会生效
  • 检查项目的API访问级别
    确认项目已同步Basic计划权限:

    1. 进入项目的Project Settings,查看API access level是否显示为Basic
    2. 若仍显示Free,可能是升级后后台未同步,等待1-2小时后再检查,或联系开发者支持
  • 用curl简化测试
    排除脚本逻辑问题:

    curl --request GET \
    --url 'https://api.twitter.com/2/users/{你的用户ID}/followers' \
    --header 'Authorization: Bearer 你的新Bearer Token'
    

    如果curl仍报错,问题在账号/应用配置;若成功,再检查脚本中user_id是否正确,或请求拼接是否有误

  • 修正脚本(可选,认证通过后优化)
    默认返回的用户字段有限,可添加user.fields参数获取更多信息:

    import requests
    
    def get_followers(user_id, bearer_token):
        # 添加user.fields参数获取额外字段
        url = f'https://api.twitter.com/2/users/{user_id}/followers?user.fields=created_at,description,location'
        headers = {'Authorization': f'Bearer {bearer_token}'}
        all_followers = []
    
        while True:
            response = requests.get(url, headers=headers)
            if response.status_code == 200:
                result_data = response.json()
                all_followers.extend(result_data.get('data', []))
                # 处理分页时保留参数
                if 'next_token' in result_data.get('meta', {}):
                    next_token = result_data['meta']['next_token']
                    url = f'https://api.twitter.com/2/users/{user_id}/followers?user.fields=created_at,description,location&pagination_token={next_token}'
                else:
                    break
            else:
                print(f"请求失败,状态码: {response.status_code}")
                print(response.json())
                return None
        return all_followers
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 22:59:53