Я не могу получить переменные окружения.
Я попробовал фрагмент кода из документации Tweepy
без переменных окружения, и он работал как надо.Я определил необходимые переменные непосредственно в коде.
Затем я определил 4 переменных среды для consumer_key, consumer_secret, access_token and access_token_secret
, но они больше не работали.Меня удивляет то, что я могу получить доступ к переменным окружения, например, с помощью print(os.environ['TWITTER_CONSUMER_KEY'])
и вывод правильный.
В ключах нет опечаток.Я дважды проверил это.
Этот код работает:
import tweepy
consumer_key = 'xyz'
consumer_secret = 'xyz'
access_token = 'xyz'
access_token_secret = 'xyz'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
public_tweets = api.home_timeline()
for tweet in public_tweets:
print(tweet.text)
Этот код не работает:
import os
import tweepy
consumer_key = os.environ['TWITTER_CONSUMER_KEY']
consumer_secret = os.environ['TWITTER_CONSUMER_SECRET']
access_token = os.environ['TWITTER_ACCESS_TOKEN']
access_token_secret = os.environ['TWITTER_ACCESS_SECRET']
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
public_tweets = api.home_timeline()
for tweet in public_tweets:
print(tweet.text)
Я получаю следующее сообщение об ошибке:
Traceback (most recent call last):
File "[...]/testing.py", line 28, in <module>
public_tweets = api.home_timeline()
File "[...]venv\lib\site-packages\tweepy\binder.py", line 250, in _call
return method.execute()
File "[...]\venv\lib\site-packages\tweepy\binder.py", line 234, in execute
raise TweepError(error_msg, resp, api_code=api_error_code) tweepy.error.TweepError: [{'code': 32, 'message': 'Could not authenticate you.'}]