Instagram Instafeed.js PHP MYSQL

Eléphant du PHP | 104 Messages

02 déc. 2019, 10:45

Bonjour tous le monde,

Je rencontre un problème avec Instafeed.js.

J'affiche bien les photo de mon compte instagram, ce que je voudrais faire c'est les enregistrer dans ma BDD MYSQL.
J'ai essayer de m’être du php dans mon common.js et cela ne donne rien comme pas d’exécution.

Code : Tout sélectionner

<?php include_once 'config/config.php'; ?> $(document).ready(function(){ var userFeed = new Instafeed({ get: 'user', userId: 'XXXXXXX', limit: '1', resolution: 'standard_resolution', template: '<?php $sql = "INSERT INTO `instagra` (`id_instagram`, `type_instagram`, `lien_instagram`, `img_instagram`, `number_instagram`, `date_instagram`, `time_instagram`, `ip_instagram`) VALUES (NULL, "1", "{{like}}", "{{image}}", NOW(), NOW(), '');" $bdd->exec($sql); ?>', accessToken: ‘XXXXXXX’ }); userFeed.run(); });
je tourne en rond quelqu'un peux me donnée une piste SVP.

Merci de votre aide.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 8471 Messages

02 déc. 2019, 13:16

Il y a une règle à bien comprendre :
- Javascript s'exécute dans le navigateur.
- PHP s'exécute sur le serveur.
En résumé, dans ton code, PHP s'exécute avant le javascript, et donc ce que tu as essayé de faire ne peut pas marcher.


Tu as 2 possibilités :
- Si tu récupères les infos voulues en javascript, alors il faut que tu les renvoies en javascript vers un script PHP sur ton serveur pour que PHP puisse les traiter. Cela s'appelle un appel "Ajax" ou XMLHttpRequest
https://openclassrooms.com/fr/courses/1 ... ttprequest
- Soit tu récupères les infos que tu veux en PHP (du coup pas avec instafeed.js) probablement avec l'API officielle d'Instagram
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 336 Messages

02 déc. 2019, 13:23

Salut,

@arthur ma pris de vitesse :)
Pour compléter si c'est pour un ajout en base de données je serais directement passé par le php ou tu pourras vérifier que la photo n'existe pas déjà et ça évitera une requête inutile.
https://github.com/pgrimaud/instagram-user-feed

Eléphant du PHP | 104 Messages

08 déc. 2019, 16:47

bonjour,

je revient vers vous j'ai résolu mon problème je partage mon code

Mais là je cherche a utilise cela pour afficher les images Identifié(e).

Merci de vos aide,

Code : Tout sélectionner

<?php include_once '../config/config.php'; $clientid = "XXXX"; $accessToken = "XXXXXXXXXXXX"; function fetchData($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 20); $result = curl_exec($ch); curl_close($ch); return $result; } $result = fetchData("https://api.instagram.com/v1/users/{$clientid}/media/recent/?access_token={$accessToken}"); $result = json_decode($result); header('Content-Type: application/json'); print_r($result); ?> <?php foreach ($result->data as $post): ?> <?php echo $link = $post->link; echo '<td>'."\r\n"; echo $img = $post->images->standard_resolution->url; echo '<td>'."\r\n"; echo $count = $post->likes->count; echo '<td>'."\r\n"; echo $name = $post->location->name; echo '<td>'."\r\n"; echo $username = XXXXXXXXXXX; echo '<td>'."\r\n"; $sql= "INSERT INTO `instagram` (`id`, `type`, `lien`, `img`, `number`, `name`, `username`, `date`, `time`) VALUES (NULL, '1', '$link', '$img', '$count', '$name', '$username', NOW(), NOW())"; $bdd->exec($sql); ?> <?php endforeach ?>