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

Twitter API基础权限无法获取粉丝:代码验证与替代方案咨询

Twitter API 获取粉丝权限问题及代码验证、替代方案

问题描述

我通过Twitter API无法获取用户粉丝,排查后发现官方已从Basic access中移除粉丝相关权限。现咨询以下两点:

  1. 验证我提供的Go语言代码是否正确,是否仍可通过该代码获取粉丝信息;
  2. 若确因接口权限移除导致无法获取,请求可行的替代方案,例如其他可用接口等。

提供的Go代码

package main

import (
    "encoding/json"
    "flag"
    "fmt"
    "net/url"
    "time"

    "github.com/cvcio/twitter"
)

func main() {
    consumerKey := flag.String("consumer-key", "", "twitter API consumer key")
    consumerSecret := flag.String("consumer-secret", "", "twitter API consumer secret")

    id := flag.String("id", "", "user id")

    flag.Parse()

    start := time.Now()

    api, err := twitter.NewTwitter(*consumerKey, *consumerSecret)
    if err != nil {
        panic(err)
    }

    v := url.Values{}
    v.Add("max_results", "1000")
    followers, _ := api.GetUserFollowers(*id, v)

    for {
        r, ok := <-followers

        if !ok {
            break
        }

        b, err := json.Marshal(r.Data)
        if err != nil {
            panic(err)
        }

        var data []*twitter.User
        json.Unmarshal(b, &data)
        for _, v := range data {
            fmt.Printf("%s,%s,%s\n", v.ID, v.UserName, v.Name)
        }

        fmt.Println()
        fmt.Printf("Result Count: %d Next Token: %s\n", r.Meta.ResultCount, r.Meta.NextToken)
    }

    end := time.Now()

    fmt.Printf("Done in %s", end.Sub(start))
}

解答

1. 代码正确性及可用性验证

从逻辑层面看,这段代码符合github.com/cvcio/twitter库的使用规范:

  • 正确通过消费者密钥初始化Twitter客户端
  • 构造请求参数并调用粉丝查询接口
  • 通过通道处理分页结果,解析并输出用户信息

但这段代码目前无法通过Basic access权限获取粉丝数据——Twitter官方已将GET /2/users/{id}/followers接口的权限从Basic access移除,该接口仅支持Elevated access或更高权限的开发者账号。即使代码逻辑正确,用Basic access密钥调用时会返回403权限错误。

另外代码存在一处小问题:调用api.GetUserFollowers时忽略了错误返回(followers, _ := ...),建议改为followers, err := ...并增加错误处理,避免静默失败。

2. 替代方案

如果无法获取Elevated access权限,可考虑以下方案:

  • 升级账号权限:前往Twitter开发者门户申请Elevated access,这是最直接的解决方式,申请通过后可正常调用粉丝接口
  • 第三方数据服务:部分第三方数据平台提供Twitter用户粉丝数据查询服务,可通过其API获取相关信息(需注意服务合规性与数据准确性)
  • 公开数据抓取(谨慎使用):若仅需少量公开粉丝数据,可模拟浏览器抓取用户主页的粉丝列表,但这种方式违反Twitter服务条款,易被封禁账号,不推荐用于生产环境

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 04:33:41