Authentification OAuth à l'aide de requêtes Exemple: Flickr

Effectuez facilement une authentification OAuth sur Flickr à l'aide de requêtes et de requêtes_oauthlib Dans "Frapper l'API Web à l'aide de requêtes: Flickr", j'ai frappé l'API Web de Flickr, mais en réalité c'était une photo privée dans mon compte. Je veux souvent y accéder. Voici donc comment rendre votre compte accessible à l'aide de l'authentification OAuth.

install Puisqu'il est enregistré dans PyPi, installez-le en utilisant pip ou easy_install.

$ pip install requests requests_oauthlib

Obtenir la clé API

Si vous n'avez pas de compte Flickr, obtenez-en un si nécessaire.

Accédez à l'adresse ci-dessous, enregistrez l'application et obtenez la clé API et SECRET. Pour un usage non commercial, inscrivez-vous auprès de Non-Commercial. https://www.flickr.com/services/apps/create/apply/

Authentification OAuth

Exemple de code

La procédure Flickr OAuth est expliquée sur le site officiel. Cette fois, nous ciblons Flickr, mais la procédure devrait être la même pour OAuth1. Flickr:User Authentication

import urlparse
import webbrowser

import requests
from requests_oauthlib import OAuth1


API_KEY = 'YOUR_API_KEY'
SECRET_KEY = 'YOUR_SECRET_KEY'

request_url = 'https://www.flickr.com/services/oauth/request_token'
authorize_url = 'https://www.flickr.com/services/oauth/authorize'
access_token_url = 'https://www.flickr.com/services/oauth/access_token'
access_url = 'https://api.flickr.com/services/rest/'
callback_uri = 'oob'


def oauth_requests():
    # Get request token
    auth = OAuth1(API_KEY, SECRET_KEY, callback_uri=callback_uri)
    r = requests.post(request_url, auth=auth)
    request_token = dict(urlparse.parse_qsl(r.text))

    # Getting the User Authorization
    webbrowser.open('%s?oauth_token=%s&perms=delete' % (authorize_url, request_token['oauth_token']))  #Ouvrez le navigateur et affichez l'écran de confirmation d'authentification OAuth. Si l'utilisateur le permet, le code PIN s'affichera.

    oauth_verifier = raw_input("Please input PIN code:")  #Entrez le code PIN ci-dessus
    auth = OAuth1(
        API_KEY,
        SECRET_KEY,
        request_token['oauth_token'],
        request_token['oauth_token_secret'],
        verifier=oauth_verifier)
    r = requests.post(access_token_url, auth=auth)

    access_token = dict(urlparse.parse_qsl(r.text))
    return access_token

if __name__ == '__main__':
    print oauth_requests()

Cela vous donnera un jeton d'accès et un secret de jeton d'accès, que vous devriez pouvoir utiliser pour accéder à votre compte.

A une autre occasion concernant les spécifications de l'API après authentification ...

référence

Recommended Posts

Authentification OAuth à l'aide de requêtes Exemple: Flickr
Télécharger des images à l'aide de demandes
Exemple d'utilisation de lambda
Enregistrer des images à l'aide de requêtes python3