7 votes

L'API Instagram continue de lever l'exception "Vous devez fournir un client_id" lorsque j'utilise la bibliothèque python-instagram

J'ai enregistré mon application dans le tableau de bord des développeurs d'Instagram et j'ai essayé d'utiliser la bibliothèque python-instagram développée par Facebook.

Après avoir exécuté le code sample_app.py, j'ai accédé à mon site de test (localhost:8515) et je me suis connecté avec succès en utilisant mon identifiant Instagram. Cependant, je ne peux pas obtenir le code d'accès à cause de cette exception "Vous devez fournir un client_id".

J'ai également essayé la même chose en utilisant cette bibliothèque (https://github.com/Seraphicer/python-instagram-ext). Cela est dû au fait qu'ils ont soumis une demande de tirage pour la bibliothèque originale et la maintiennent.

13voto

Victor Gavro Points 189

J'avais le même problème, évidemment dû à la mise à jour de l'API Instagram ou de httplib2. Résolu pour moi https://github.com/vgavro/python-instagram/commit/9dfc264571ad7c343af3899445d13afedf23e3aa (lien vers ma version modifiée de python-instagram avec les correctifs nécessaires pour moi)

9voto

Peter Schaafsma Points 172

J'ai dû le faire moi-même; je n'ai pas réussi à faire fonctionner python-instagram. Je vais probablement abandonner l'ensemble de la bibliothèque. Trop de bugs récemment, et je ne pense pas qu'elle soit maintenue.

@classmethod
def exchange_code_for_access_token(cls, code, redirect_uri, **kwargs):
    url = u'https://api.instagram.com/oauth/access_token'
    data = {
        u'client_id': cls.get_client_id(),
        u'client_secret': cls.get_client_secret(),
        u'code': code,
        u'grant_type': u'authorization_code',
        u'redirect_uri': redirect_uri
    }

    response = requests.post(url, data=data)

    account_data = json.loads(response.content)

    return account_data

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X