Недавно я получил повышенный доступ к Twitter Developers. Я создал новый проект, и у меня включен OAuth 1.0a с разрешением на чтение и запись, но когда я запустил код, я получил:Stream encountered HTTP error: 403
import tweepy
from config import ACCESS_TOKEN as access_token
from config import ACCESS_TOKEN_SECRET as access_token_secret
from config import API_KEY as api_key
from config import API_KEY_SECRET as api_key_secret
auth = tweepy.OAuthHandler(api_key, api_key_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
class Linstener(tweepy.Stream):
tweets = []
limit = 1
def on_status(self, status):
self.tweets.append(status)
# print(status.user.screen_name + ": " + status.text)
if len(self.tweets) == self.limit:
self.disconnect()
stream_tweet = Linstener(api_key, api_key_secret, access_token, access_token_secret)
users = ['pawka322']
user_ids = []
for user in users:
user_ids.append(api.get_user(screen_name=user).id)
stream_tweet.filter(follow=user_ids)
Что я сделал:
- Создал новое приложение и сохранил потребительский ключ и потребительский секрет.
- Создал новый проект развития
- Включил OAuth 1.0a:
Мои учетные данные работают нормально, если я получаю твиты с временной шкалы пользователей.
Решение проблемы
Если вы создали свое приложение 29 апреля 2022 г. или позже, вы не сможете получить доступ к потоковой передаче с помощью Twitter API версии 1.1:
Кроме того, начиная с сегодняшнего дня, новые клиентские приложения не смогут получить доступ к статусам/образцу версии 1.1 и статусам/фильтру версии 1.1.
Вместо этого вам придется использовать Twitter API v2.
Интерфейс Tweepy для потоковой передачи с помощью Twitter API v2 — это StreamingClient
.
Комментариев нет:
Отправить комментарий