我有一个免费的 Twitter 帐户,创建了一个项目,创建了一个应用程序。当我使用 API 从 Twitter 中提取数据时,我被禁止:您当前只能访问 Twitter API v2 端点的子集和有限的 v1.1 端点(例如媒体发布、oauth)。如果您需要访问此端点,您可能需要不同的访问级别。
我尝试重新创建另一个 Twitter 帐户,然后又做了一遍,但问题仍然出现。我在网上搜索了一下,最近在 API 中读取 Twitter 文本时出现了很多相同的问题。然而,直到现在还没有人解决这个错误。
/2/tweets/search/recent 在免费计划中不可用。请在此处查看免费计划中提供的 V2 端点:https://developer.twitter.com/en/portal/products/free 要搜索最近的推文,您需要升级到基本计划,目前为 100 美元/月
专业计划还具有基本计划不支持的完整存档搜索权限
这里有一个简单的Python代码,可以立即检查升级到基本计划后是否收到推文。
import requests
import os
# Replace with your Twitter Bearer Token
bearer_token = os.getenv("TWITTER_BEARER_TOKEN")
# API endpoint URL
url = "https://api.twitter.com/2/tweets/search/recent"
# Parameters for the API request
params = {
"query": "SEARCH_WORD",
"max_results": 20 # 10-100 in basic plan
}
# Headers with Bearer Token
headers = {
"Authorization": f"Bearer {bearer_token}"
}
try:
# Make the API request
response = requests.get(url, params=params, headers=headers)
response.raise_for_status() # Check for any request errors
# Parse the JSON response
data = response.json()
# Check if the response contains tweets
if "data" in data:
# Print each tweet with tweet URL
for tweet in data["data"]:
tweet_id = tweet["id"]
tweet_text = tweet["text"]
tweet_url = f"https://twitter.com/user/status/{tweet_id}"
print(f"Tweet ID: {tweet_id}\nTweet Text: {tweet_text}\nTweet URL: {tweet_url}\n")
else:
print("No tweets found in the response.")
except requests.exceptions.RequestException as e:
print(f"Error making the API request: {e}")
except json.JSONDecodeError as e:
print(f"Error parsing the JSON response: {e}")