我正在尝试使用 Python 的 Tweepy 包从 X 检索一些最近的推文示例。我正在使用我自己的 X 帐户内的开发者项目生成的 API 密钥、API 密钥秘密、访问令牌和访问令牌秘密来验证我的 API 调用。
import tweepy
client = tweepy.Client(
consumer_key=consumer_key,
consumer_secret=consumer_secret,
access_token=access_token,
access_token_secret=access_token_secret
)
query = <query-string>
client.search_recent_tweets(query=query)
但我不断收到
Unauthorized: 401 Unauthorized
错误。
我尝试使用我的 X Bearer 令牌进行仅应用程序身份验证,但遇到了相同的错误。
client = tweepy.Client(bearer_token=os.environ.get('BEARER_TOKEN'))
请注意,此问题发生在 Twitter API v2 中,该 API 已取代 v1.1。这个问题在去年左右已经被问过:here和here,但两个线程都没有答案。
如果您没有 401 错误的解决方案,也欢迎提供用于从 X 检索推文的替代 Python 包的建议。
我现在可以确认该问题与 X (Twitter) 政策有关,而不是上面发布的代码。自 2023 年 2 月起,X Developers 停止支持免费 API 下的推文搜索。
https://developer.x.com/en/docs/twitter-api 上的 Twitter API 文档也明确指出,免费层访问不允许搜索推文。 2023 年 2 月之前的历史数据可以从互联网档案中获取,但不能从 X 获取实时数据。