IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Connexion à Instagram


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 92
    Points : 64
    Points
    64
    Par défaut Connexion à Instagram
    Bonjour.

    J'aimerais afficher sur mon site ma timeline Instagram.

    J'ai testé différentes choses mais j'en arrive toujours au même problème pour l'access_token.
    Quand je veux le récupérer je suis redirigé sur Instagram qui me demande l'accès. Je comprendrais si je demandais l'accès aux visiteurs mais là c'est la mienne.

    Comment faire pour le récupérer en transparence ?


    Merci.

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 64
    Points
    64
    Par défaut
    Salut,

    Je suis confronté au même soucis, aurait tu trouvé une solution depuis le temps ?

    Merci.

  3. #3
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    salut,

    comme beaucoup de sites du genre, ils ont un api (lien api sur la page de garde du site) et tu tombes sur la doc développeur en anglais...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 64
    Points
    64
    Par défaut
    Oui mais il n'y a rien à ce sujet, on parle de s'authentifier sans avoir besoin de passer par leur formulaire où on doit rentrer son login et pass afin de récupérer ses photos.

  5. #5
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    ils t'explique ça dans "authentication", là tu peux créer des url permettant de récupérer du contenu une fois qu'elles sont autorisés par le détenteur du compte...

    j'ai pas de compte instagram donc faut voir comment ça se déroule de ce coté là...

    après tu peux obtenir un token qui te permet plus de souplesse

    leur api a l'air limité, tu sembles pouvoir lire, modifier, ajouter ou supprimer des images... selon les droits qu'accorde le titulaire du compte

    après le soucis que tu peux avoir est qu'ils présentent les choses avec des trucs mis en forme sous une console linux... ce qui est pas très implicite à adapter en php ou autre...

    ils ne parlent pas vraiment de l'embarquement comme les visonneuse vidéo à la youtube par exemple...

    à mon avis faut aller voir sur leur forum si un sujet parle un peu plus de la façon de faire ce que vous voulez tous les 2...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 64
    Points
    64
    Par défaut
    Salut Eric,

    Oui j'ai déja fouillé dans leur docs et regardé dans diverses classes php trouvées sur le net, mais rien qui ressembles à ce que l'on souhaite faire dans ce topic.

    En fait, instagram afin d'obtenir un auth_token nous demande de nous identifier. Mais pour cela, je n'ai pas trouvé comment faire pour le faire directement via Curl ou autre système, car ils nous demandent de nous identifier sur un formulaire à eux, qui une fois rempli et validé vas nous donner l'auth_token.

    Sauf que ce n'est pas pratique dans le cas où l'on souhaites récupérer ses propres photos et les afficher sur son site web.

    D'où ce sujet

  7. #7
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    tu peux te connecter à l'adresse que vise ce formulaire et formuler et envoyé le contenu du formulaire via la bibliothèque curl de php pour récupérer le json contenant la réponse en retour...



    après tu peux utiliser la bibliothèque json pour interpréter la réponse
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  8. #8
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 64
    Points
    64
    Par défaut
    A vrai dire, j'ai fais plusieurs essais CURL sur divers sites où il faut s'identifier et je n'obtiens rien de satisfaisant.

    De plus dans la doc d'instagram, ils parlent bien de Curl mais après l'identification.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    curl \-F 'client_id=CLIENT-ID' \
        -F 'client_secret=CLIENT-SECRET' \
        -F 'grant_type=authorization_code' \
        -F 'redirect_uri=YOUR-REDIRECT-URI' \
        -F 'code=CODE' \https://api.instagram.com/oauth/access_token
    Sauf que le code=CODE est obtenu à partir d'ici :
    https://api.instagram.com/oauth/auth...onse_type=code

    Où l'on doit justement s'identifier avec son login et pass.

  9. #9
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    tu as essayer de te connecter via curl en remplissant leur formulaire?

    avec google tu peux trouver des exemples pour utiliser curl pour remplir un formulaire distant

    je pense que tu dois aussi mettre les paramètres hidden sinon ça risque de pas prendre ta demande, c'est peut-être pour ça que ça ne marchait pas trop...?
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 64
    Points
    64
    Par défaut
    Oui j'ai essayé sans succès... J'ai meme essayé le curl sur un autre site ou l'on doit s'identifier qui n'utilise pas le https. Est ce que cela pourrait venir du https qui poserait soucis ?

    Sinon as tu un exemple concret qui fonctionne pour l'auth avec login/pass car de tous les tests que j'ai fais, aucun ne sont concluants.

    Merci.

  11. #11
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    J'ai pas de compte Instagram, mais qu'est-ce que tu veux faire exactement?
    Si c'est pour afficher ton timeline (ou autre éléments du même type), qu'est-ce qui t'empêche d'autoriser manuellement ton application (dans le formulaire), de récupérer le code ainsi généré et ensuite obtenir l'access token; voire, plus simple, d'utiliser l'implicit client-side authentication pour avoir l'access token?

    L'access token n'a pas de durée de vie définie, et d'après ce que je peux lire, le jour où Instagram désactivera les access token existants et forcera une nouvelle authentication, il le feront savoir suffisamment à l'avance.

  12. #12
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    il semble qu'il n'y arrive pas et comme j'ai pas non plus de compte instagram...

    après si ça marche toujours pas

    tu peux là encore tester une chose les sockets php s'ils sont autorisé sur ton hébergement...

    tu te connectes sur l'adresse de base de l'url que pointe le formulaire avec le port 443, puis tu fabriques une requête get avec pour cible le reste de l'url (à partir du nom du script) en encodant les paramètres passés en post dans le formulaire en utilisant l'encodage http...

    tu as des exemples dans la doc php sur le sujet...

    après tu ne peux pas vraiment récupérer autre chose que des images liées à un tag, un lieu ou ce genre de trucs...

    le but de leur truc semble être que tu permettes à quelqu'un qui a un compte instagram de s'identifier pour avoir un certain niveau d'interaction...

    comme je l'ai déjà dit ils ne pensent pas vraiment l'accès à leur contenu comme youtube qui permet de partager sans s'identifier une vidéo ou un playlist visible de n'importe qui...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  13. #13
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par Tsilefy Voir le message
    J'ai pas de compte Instagram, mais qu'est-ce que tu veux faire exactement?
    Je souhaites au final récupérer l'auth_token qui me permettrait de récupérer la liste des photos et leur détails.

    l'auth_token en effet n'est pas censé changer, sauf que le dév. est fait pour un client et je suis embeté si le token vient à changer dans le futur.


    Citation Envoyé par ericd69 Voir le message

    tu peux là encore tester une chose les sockets php s'ils sont autorisé sur ton hébergement...

    ........

    comme je l'ai déjà dit ils ne pensent pas vraiment l'accès à leur contenu comme youtube qui permet de partager sans s'identifier une vidéo ou un playlist visible de n'importe qui...
    Non je sais que ce n'est pas comme youtube et qu'il faut un système d'identification, mais je n'arrive pas vraiment à procéder à l'authentification (avec un login et pass) qui ensuite me retourne l'auth_token dont j'ai besoin pour récupérer la liste de photos.

    Actuellement j'ai ca pour le curl, est ce bon ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    $clientId = 'qqqxxx';
    $redirectUrl = 'aaayyy';
     
    $url = 'https://instagram.com/oauth/authorize/?client_id=' . $clientId . '&redirect_uri=' . $redirectUrl . '&response_type=token';
     
    $userCredentials = array(
    	'username' => 'xxx',
    	'password' => 'yyy'
    );
    $userCredentials = http_build_query($userCredentials);
     
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $userCredentials);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
    $result = curl_exec($curl);
     
    var_dump($result);

  14. #14
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    normalement oui

    après tous les champs visibles/invisibles du formulaire doivent être présents dans $userCredentials qui va être encodé selon la méthode post.

    et $url doit être l'adresse pointée par le formulaire...

    ça devrait plutot être:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    curl_setopt_array($curl, CURLOPT_POSTFIELDS, $userCredentials);
    vu que tu passes un tableau non?
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  15. #15
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 64
    Points
    64
    Par défaut
    Pour curl_setopt_array, non ce n'est pas la bonne utilité pour faire ce dont tu parles, d'après la doc : http://php.net/manual/fr/function.curl-setopt-array.php

    Je viens de refaire divers essais sans succès. De plus je vais laisser tomber, je passe trop de temps dessus et mes recherches sur le net ont étés vaines.

    Merci tout de même pour le coup de main

  16. #16
    Membre expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Points : 3 295
    Points
    3 295
    Billets dans le blog
    1
    Par défaut
    y a un des exemples qui dit que tu ne doit pas chercher à mettre une valeur dans CURLOPT_POST si CURLOPT_POSTFIELDS est un tableau sous peine de rejet par nombre de serveur...
    soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
    ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...

  17. #17
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    J'ai regardé plusieurs bibliothèques Instagram sur GitHub et pas une ne permet de récupérer le code pour obtenir l'access_token, toutes passent par l'authentification manuelle.

    Peut-être qu''Instagram bloque les requêtes hors navigateurs.

  18. #18
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Je viens de regarder le formulaire d'authentification, et naturellement il y a un token crsf. Je pense que c'est ce qui t'empêche aussi de te connecter.

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/01/2015, 12h34
  2. [CR 8.5][Web] demande de connexion récurrente.
    Par Edison dans le forum Connectivité
    Réponses: 4
    Dernier message: 09/07/2002, 18h48
  3. Réponses: 4
    Dernier message: 04/07/2002, 13h31
  4. Connexion ODBC
    Par Anonymous dans le forum Réseau
    Réponses: 2
    Dernier message: 23/04/2002, 13h10
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo