J'essaie d'accéder à Twitter api via tweepy. Et j'obtiens l'erreur tweepy.error.TweepError: [{'code': 215, 'message': 'Bad Authentication data.'}]
.tweepy mauvaises données d'authentification
Mon accès API est decribed dans twitter_client.py
:
import os
import sys
from tweepy import API
from tweepy import OAuthHandler
def get_twitter_auth():
"""Setup twitter authentication
Return: tweepy.OAuthHandler object
"""
try:
consumer_key = os.environ['TWITTER_CONSUMER_KEY']
consumer_secret = os.environ['TWITTER_CONSUMER_SECRET']
access_token = os.environ['TWITTER_ACCESS_TOKEN']
access_secret = os.environ['TWITTER_ACCESS_SECRET']
except KeyError:
sys.stderr.write("TWITTER_* environment variable not set\n")
sys.exit(1)
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
return auth
def get_twitter_client():
"""Setup twitter api client
Return: tweepy.API object
"""
auth = get_twitter_auth()
client = API(auth)
return client
Alors j'essaie d'obtenir mes 4 derniers tweets:
from tweepy import Cursor
from twitter_client import get_twitter_client
if __name__ == '__main__':
client = get_twitter_client()
for status in Cursor(client.home_timeline()).items(4):
print(status.text)
Et obtenir cette erreur. Comment je le répare? J'utilise python 3.6 et j'ai installé tweepy via pip sans spécifier de version, donc ça devrait être la dernière version de tweepy.
Mise à jour: J'ai découvert que le problème est dans les variables environ. D'une certaine façon, l'API de Twitter ne peut pas l'obtenir. Cependant, quand je viens print(consumer_key, consumer_secret, access_token, access_secret)
, tout est sur elle sa place
Merci, mais mon but est de stocker des jetons dans evnironment, non pas comme un texte en clair comme celui-ci 'auth = tweepy.OAuthHandler (, ) auth.set_access_token (, < access_secret>) ' –
t411tocreate