Twitter API V2 跟随查找

问题描述 投票:0回答:1

我正在尝试使用 Python 检索 Twitter 帐户关注者的列表。

在意识到免费层 API 访问不提供此端点后,我将我的开发者帐户升级到基本计划(每月 100 美元),因为它明确指出一旦注册,您就可以检索帐户关注者或关注者。

我创建了一个脚本,应该根据用户 ID 检索帐户的关注者 -

import requests

def get_followers(user_id, bearer_token):
    url = f'https://api.twitter.com/2/users/{user_id}/followers'
    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['data'])

            if 'next_token' in result_data['meta']:
                next_token = result_data['meta']['next_token']
                url = f'https://api.twitter.com/2/users/{user_id}/followers?pagination_token={next_token}'
            else:
                break
        else:
            print(f"Failed to get followers for user ID '{user_id}' with status code: {response.status_code}")
            print(response.json())
            return None

    return all_followers

但是我收到以下(看起来很常见)错误响应 -

{
   "client_id":"my-id",
   "detail":"When authenticating requests to the Twitter API v2 endpoints, you must use keys and tokens from a Twitter developer App that is attached to a Project. You can create a project via the developer portal.",
   "registration_url":"https://developer.twitter.com/en/docs/projects/overview",
   "title":"Client Forbidden",
   "required_enrollment":"Appropriate Level of API Access",
   "reason":"client-not-enrolled",
   "type":"https://api.twitter.com/2/problems/client-forbidden"
}

我已确保我的应用程序位于具有关联的

V2 ACCESS
标签的项目中。

我也尝试使用 Tweepy 但是遇到了相同的错误响应。

另外,在阅读 Twitter 文档中的特定页面时,快速入门指南和 API 浏览器按钮都会导致链接损坏!

python twitter twitter-api-v2
1个回答
0
投票

我原来的帖子提供了我在 2023 年 4 月 18 日为问题 Tweepy 获取关注者列表 编写的代码(现已删除)。

在您发表评论后,我对错误消息做了更多研究:

tweepy.errors.Forbidden:403 禁止

验证对 Twitter API v2 端点的请求时,您必须使用附加到项目的 Twitter 开发人员应用程序中的密钥和令牌。您可以通过开发者门户创建项目。

我发现 Twitter API 功能很快就发生了变化 我在 2023 年 4 月写了该代码。

此更改删除了获取用户 ID 和特定列表的关注者的查询访问权限。

下图来自Twitter的开发者变更日志,显示了这一变化。

这是有关相关错误的 GitHub 问题

有趣的是,Twitter 的 API 开发人员用于发布变更日志更新的 Twitter 帐户 现在在 Twitter 上不存在。

我还查看了 Twitter 访问级别。今年早些时候,我使用 Essential Account 来查询关注者。

X 访问级别 具有更多限制,如下图所示。

根据这些新的访问级别和 2023 年 6 月 26 日的变更日志帖子,您似乎需要拥有企业帐户才能获取关注者列表。

© www.soinside.com 2019 - 2024. All rights reserved.