Recuperare le foto di Instagram tramite le API (JSON e PHP)

Cercando in rete mi sono accorto che non esistono guide su come recuperare e visualizzare le foto di un certo profilo o di un determinato tag presenti su Instagram via PHP.
Ecco dunque un piccolo aiuto per chiunque stia cercando di ottenere lo stesso risultato visualizzabile in home page. Ecco l’intero codice, che vedremo di spiegare:

Prima di tutto dovremo impostare i parametri $user_id, $count, $width, $height, rispettivamente l’user id dell’utente di cui prelevare le foto, il numero di elementi e la larghezza e l’altezza da mostrare. Per ottenere l’access token fate riferimento alla guida per gli sviluppatori.Instagram Successivamente dovremo inserire in $cache il percorso dove andrà a finire il file di cache contenente le informazioni recuperate dalle API di Instagram. A questo punto non vi rimarrà che personalizzare il risultato in HTML agendo su $result. Io l’ho impostato in modo da funzionare con Fancybox (plugin che si occupa di creare un effetto di visualizzazione delle immagini con un popup a comparsa). Le informazioni estrapolate dalle API sono: titolo ($value->caption->text), nome del luogo di scatto ($value->location->name), longitudine e latitudine interfacciate con Google Maps ($value->location->longitude/latitude), URL del file ($value->images->low_resolution/standard_resolution->url), data di creazione in formato Unix Timestamp ($value->caption->created_time), convertita in data/ora.
Per visualizzare al posto delle foto di uno specifico utente tutte quelle che contengono un certo tag è necessario sostituire l’indirizzo contenuto in $url in modo che inizi con https://api.instagram.com/v1/tags/XXXX/media/recent (dove XXXX sta per il tag desiderato).
Buon divertimento!

11 thoughts on “Recuperare le foto di Instagram tramite le API (JSON e PHP)

  1. Ciao.
    Innanzitutto, complimenti per il post e per il sito.
    In secondo luogo, ti chiedo: cosa mi serve per far funzione il tutto? Ho fatto un test inserendo il tuo codice (client_id e token inclusi) nell’index del tema base di wordpress, ma sembra che tutto il codice venga ignorato.
    Grazie per il supporto sin da ora.
    Ale

    • Uhm, strano che con api.instagram.com/v1/tags/XXX/media/recent non vada.

      In un altro sito ho usato proprio questo:

      function get_instagram($tag=yourtag,$count=X,$width=550,$height=550){
      $url = 'https://api.instagram.com/v1/tags/'.$tag.'/media/recent/?access_token=XXXXXXX&count='.$count;
      

      … (più ovviamente tutto il resto del codice riportato sopra) e funziona.

      • Ciao.
        Ieri, poco dopo il secondo commento, avevo capito dove sbagliavo. Non volevo riempire il post di miei commenti. Grazie cmq per l’ulteriore indicazione.
        Mi permetto un’altra domanda: ‘.$tag.’ può fare riferimento ad un array di tag diversi? Cioè, si riesce mica a pescare foto taggate con un gruppo di tag precisi?
        Grazie per l’eventuale risposta e ciao! 😉

        • Anche a me era sorta questa domanda. Purtroppo non ho avuto (e non ho..) molto tempo per provare. Se provi sarei curioso di sapere il risultato. Ciao! 😉

  2. Ciao,

    io avrei bisogno soltanto di visualizzare il numero delle foto scattate.
    Come posso fare?

    La premessa è che sono un completo inetto 🙂

    Attendo una tua risposta e grazie,

    Saluti
    Francesco

  3. Ciao, io vorrei avere la possibilità di eseguire questo codice su un server remoto e poi andare a prendere i riusultati della ricerca attraverso un’app mobile. Secondo te è possibile? in che modo potrei fare?

Leave a Reply

Your email address will not be published. Required fields are marked *