Je devais accéder à l'API Twitter, alors quand j'ai essayé de l'implémenter moi-même, c'était ... eh bien ... c'était un problème. Ainsi, quand j'ai cherché une bibliothèque, j'ai trouvé une bibliothèque appelée rauth, alors je l'ai essayée.
Puisqu'il s'agit d'une bibliothèque OAuth (et non d'une bibliothèque Twitter), les API autres que Twitter peuvent être utilisées tant qu'il s'agit d'une authentification OAuth. De plus, cela dépend de Requests, et cela fait du bien de pouvoir écrire le code de la partie requête HTTP proprement.
Vous trouverez ci-dessous un exemple de marmonnements de «vérité» sur ma chronologie. "Hé, n'est-ce pas facile?"
rauth_sample
import rauth
# access_token/access_token_Prémisse d'obtenir un secret
session = rauth.OAuth1Session(
"consumer_key",
"consumer_secret",
"access_token",
"access_token_secret")
#Il existe un moyen de définir la baseURL sur session, mais il est omis.
session.post(
'https://api.twitter.com/1.1/statuses/update.json',
data={'status': 'rauth'})
Dans l'exemple ci-dessus, on suppose que access_token / access_token_secret a été obtenu à l'avance, mais en ce qui concerne le README, il semble qu'il ne soit pas si difficile à obtenir. Réessayons bientôt.
Au fait, elle ne pouvait pas.
L'API baseURL peut être omise en définissant OAuth1Service sur OAuth1Session.
rauth_sample_set_service
twitter = rauth.OAuth1Service(
name='twitter',
consumer_key='consumer_key',
consumer_secret='consumer_secret',
request_token_url='https://api.twitter.com/oauth/request_token',
access_token_url='https://api.twitter.com/oauth/access_token',
authorize_url='https://api.twitter.com/oauth/authorize',
base_url='https://api.twitter.com/1.1/')
session = rauth.OAuth1Session(
consumer_key='consumer_key',
consumer_secret='consumer_secret',
access_token='access_token',
access_token_secret='access_token_secret',
service=twitter)
#La baseURL définie dans Service peut être omise
res = session.get(
url='statuses/home_timeline.json',
params={'count': 10})
print(res.json())
Recommended Posts