Python:带有 v2 完整存档搜索的 TwitterRequestError

问题描述

我想使用 v2 完整档案搜索获取推文。 我不明白我从下面的代码中得到的错误。我请求的次数太多了吗?

这里是 config.py

from TwitteraPI import TwitteraPI,TwitterPager
import csv


SEARCH_TERM = '#metoomen lang:en'
PRODUCT = 'fullarchive'
LABEL = 'prod'

api = TwitteraPI(api_key,api_secret_key,access_token,access_token_secret)

r = TwitterPager(api,'tweets/search/%s/:%s' % (PRODUCT,LABEL),{'query':SEARCH_TERM,'fromDate':'201710170000','toDate':'201801312359',"maxResults":500
        }).get_iterator()
    

csvFile = open('data.csv','w',encoding='UTF-8')
csvWriter = csv.writer(csvFile)

for item in r:
    csvWriter.writerow([item['created_at'],item["id_str"],item["source"],item['user']['screen_name'],item["user"]["location"],item["geo"],item["coordinates"],item['text'] if 'text' in item else item])

这是我得到的错误


TwitterRequestError: ('{"error":{"message":"Request exceeds account’s current package request limits. Please upgrade your package and retry or contact Twitter about enterprise access.","sent":"2021-06-09T09:54:54+00:00","transactionId":"8f5af84751ad0d30"}}',) (429): {"error":{"message":"Request exceeds account’s current package request limits. Please upgrade your package and retry or contact Twitter about enterprise access.","transactionId":"8f5af84751ad0d30"}}

解决方法

请升级您的软件包并重试或联系 Twitter 了解企业访问权限。

在 twitter 中查看 api 页面

,

此错误表示您使用的是 Premium v​​1.1 API,并且调用次数过多。您需要切换到使用 v2 完整存档搜索 URL。请注意,这要求您拥有一个具有学术访问权限的帐户。

类似的东西

api = TwitterAPI(consumer_key,consumer_secret,access_token_key,access_token_secret,api_version='2')

r = api.request('tweets/search/all',{
    'query':QUERY,'tweet.fields':'author_id','expansions':'author_id'})

TwitterAPI GitHub 存储库中有 examples