首页 > 解决方案 > 使用 Tweepy 搜索 API 时获取状态码 403

问题描述

我正在尝试使用 Tweepy API 在 Twitter 位于旧金山的总部周围 10 英里范围内获取推文。我在外部 .json 文件中有身份验证信息(api 密钥等)。

下面是我的代码:

import tweepy as tw
import json
import pandas as pd
import datetime

secrets = json.loads(open('secrets.json').read())
api_key = secrets['api_key']
api_secret_key = secrets['api_secret_key']
access_token = secrets['access_token']
access_token_secret = secrets['access_token_secret']

auth = tw.OAuthHandler(api_key, api_secret_key)
auth.set_access_token(access_token, access_token_secret)
api = tw.API(auth) 

try: 
   api.verify_credentials()
   print('Authenticated')
except:
   print("Error authenticating")

 # After running the above, I get status 'Authenitcated'

 start = '2020-09-01'
 end = '2020-09-26'
 location = '37.7749, 122.4149, 10miles'
 query = "*"
 max_tweets = 1000

 tweet_search_results = [status for status in tw.Cursor(api.search, query=query, geocode=location, since=start, until=end).items(max_tweets)]

运行上述内容后,我收到此错误:

TweepError: Twitter error response: status code = 403

此状态代码表示由于某种原因禁止访问所请求的资源。服务器理解请求,但由于与客户端相关的问题而无法完成。

在相同的代码中,我可以获得特定用户名的推文列表,但没有地理位置数据。

为什么我在尝试获取地理位置推文时会收到 403?

标签: python-3.xapilist-comprehensiontweepy

解决方案


推荐阅读