Se sei inconsapevole, Envato ha un'API stabile e fantastica con cui lavorare è super potente e super semplice. L'ultima versione (al momento della scrittura) è rilasciata v2. In questo articolo, esamineremo come accedere a ogni singolo set pubblico dall'API Envato.
Per prima cosa: devi sapere dove trovare l'API, che cos'è e come funziona esattamente. È possibile trovare la versione ufficiale dell'API sui forum, nonché l'aggiornamento al thread dell'API e le informazioni sull'aggiornamento v1.
L'API funziona inviando richieste ad URL personalizzati contenenti dati che desideri vengano restituiti. I dati possono anche essere restituiti in due formati, xml o JSON, che viene restituito dipende da voi. Preferisco tornare come JSON e usare PHP json_decode per trasformare i dati in array annidati.
Di seguito, vedrai uno screenshot di tutti i set pubblici attualmente disponibili. Passeremo attraverso ognuno di questi oggi, individualmente, con un esempio di codice funzionante e un'anteprima del risultato finale!
Per ciascun set che tratteremo oggi, descriverò brevemente qual è il punto del set, pubblichi il codice e poi spiegherò in seguito ogni passaggio del codice seguente. Assicurati di fare qualsiasi domanda su uno qualsiasi dei frammenti di codice che trovi di seguito.
Inoltre, sentiti libero di usare il codice e le tecniche apprese in questo tutorial come preferisci!
Il i post del blog set consente di interrogare e visualizzare un elenco di post di blog per qualsiasi mercato particolare. Richiede un parametro, che è il marketplace di cui vorresti i post recenti del blog.
// Inizializza curl $ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, 'http://marketplace.envato.com/api/v1/blog-posts:themeforest.json'); curl_setopt ($ ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); $ ch_data = curl_exec ($ ch); curl_close ($ ch); if (! empty ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ data_count = count ($ json_data ['blog-posts']) -1; eco '
Consente di esaminare dettagliatamente il frammento sopra riportato, in quanto il resto dei frammenti di codice sembrerà molto simile.
Tieni a mente questi dettagli; come ho detto, vedrai questo schema in quasi tutti i set che copriamo, anche se varieranno leggermente.
E una demo dell'output:
Il active-thread set ti permette di estrarre alcuni thread del forum attivi di recente.
$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, 'http://marketplace.envato.com/api/v1/active-threads:themeforest.json'); curl_setopt ($ ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); $ ch_data = curl_exec ($ ch); curl_close ($ ch); if (! empty ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ data_count = count ($ json_data ['active-threads']) -1; eco '
Nota alcune cose qui; uno, abbiamo modificato l'URL della richiesta per riflettere il nuovo set che vogliamo ottenere. In secondo luogo, si noti che i nomi degli array sono cambiati come faranno con ogni nuovo set che richiediamo. Infine, nota come print_r è commentato Questo è molto utile per il debug e la visualizzazione della struttura e della gerarchia dei dati.
E una demo dell'output:
Non lasciare che il nome del il numero-di-file mettiti in ridicolo. Non è il numero di file di un utente (ma lo copriremo!) Ma piuttosto il numero di file in una determinata categoria da un determinato mercato. Ad esempio, questo ti permetterebbe di scoprire quanti modelli di siti completi abbiamo su ThemeForest, cosa che faremo ora.
$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, 'http://marketplace.envato.com/api/v1/number-of-files:themeforest.json'); curl_setopt ($ ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); $ ch_data = curl_exec ($ ch); curl_close ($ ch); if (! empty ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ data_count = count ($ json_data ['numero-di-file']) -1; eco '
Ovviamente, la nostra richiesta di URL è cambiata e abbiamo superato il parametro di ThemeForest, che è il mercato da cui estrarremo i dati. Di seguito è riportato un esempio dell'output di questo snippet:
Proprio come la homepage di ThemeForest mostra un elenco di nuovi file, anche tu puoi accedere a nuovi file da un determinato mercato dall'utilizzo nuovi-files impostato. Una bella aggiunta di questo set è la possibilità di visualizzare anche la miniatura dell'oggetto, come vedrai tra poco.
$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, 'http://marketplace.envato.com/api/v1/new-files:themeforest,wordpress.json'); curl_setopt ($ ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); $ ch_data = curl_exec ($ ch); curl_close ($ ch); if (! empty ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ data_count = count ($ json_data ['new-file']) -1; eco '
A differenza dei precedenti frammenti, questo set richiede due parametri. Richiede rispettivamente il mercato e la categoria desiderata. Si noti che abbiamo aggiunto alcuni PHP e markup all'interno del nostro ciclo for. Questo ci permette di visualizzare una miniatura dell'elemento.
Di seguito è riportato un esempio di output di questo frammento:
Analogamente alla visualizzazione di articoli caricati di recente in un determinato mercato, possiamo anche visualizzare articoli popolari da un determinato mercato. Forse vuoi visualizzare un elenco di file ThemeForest sul tuo blog. Questo frammento raggiungerebbe questo obiettivo.
$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, 'http://marketplace.envato.com/api/v1/popular:themeforest.json'); curl_setopt ($ ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); $ ch_data = curl_exec ($ ch); curl_close ($ ch); if (! empty ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ json_short = $ json_data ['popular'] ['items_last_week']; // Salvaci un po 'di digitazione. $ data_count = count ($ json_short) -1; eco '
Nota come abbiamo aggiunto una variabile aggiuntiva chiamata json_short per darci un po 'di digitazione mentre attraversiamo l'array annidato di dati restituiti. In poche righe di codice, siamo in grado di visualizzare la miniatura, il nome e il collegamento dell'articolo come illustrato di seguito:
Il new-file-da-utente è un set popolare che abbiamo utilizzato qualche tempo fa quando abbiamo creato un plugin per WordPress con l'API Envato. Questo set ti consente di recuperare i 10 file più recenti che un utente ha caricato e i dati che lo accompagnano. Puoi usare questo set per promuovere te stesso sul tuo blog automaticamente ogni volta che carichi un nuovo oggetto.
$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, 'http://marketplace.envato.com/api/v1/new-files-from-user:creatingdrew,themeforest.json'); curl_setopt ($ ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); $ ch_data = curl_exec ($ ch); curl_close ($ ch); if (! empty ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ data_count = count ($ json_data ['new-files-from-user']) -1; eco '
I parametri richiesti sono lo username e il marketplace desiderato. Il resto dello snippet segue la stessa logica di cui abbiamo discusso. Di seguito è riportato un esempio dell'output due dei miei file recenti.
Il random-nuovi-files set è abbastanza auto esplicativo e agisce come previsto. Restituisce un elenco casuale di file appena caricati da un determinato marketplace. Restituisce anche meta dati sul file che sei libero di usare e manipolare.
$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, 'http://marketplace.envato.com/api/v1/random-new-files:themeforest.json'); curl_setopt ($ ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); $ ch_data = curl_exec ($ ch); curl_close ($ ch); if (! empty ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ data_count = count ($ json_data ['random-new-files']) -1; eco '
Non c'è niente che non hai visto già qui. Stiamo usando questo set per visualizzare alcune miniature e il titolo. Assicurati di controllare tutti i dati che vengono restituiti però, potresti essere interessato a questo. Uno screenshot dell'output è qui sotto:
Esatto, puoi effettivamente utilizzare l'API per cercare dati personalizzati in categorie personalizzate da mercati personalizzati! Gli sviluppatori pensavano davvero che l'API fosse attiva, e il ricerca set è la prova perfetta di ciò. Diamo un'occhiata a un breve snippet di ricerca. Tieni presente che potresti prendere tutti questi dati dall'input dell'utente e configurare una ricerca personalizzata Envato sul tuo sito, ma questo va oltre lo scopo di questo tutorial.
$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, 'http://marketplace.envato.com/api/v1/search:themeforest,wordpress,clean.json'); curl_setopt ($ ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); $ ch_data = curl_exec ($ ch); curl_close ($ ch); if (! empty ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ data_count = count ($ json_data ['search']) -1; eco '
Sopra sopporta alcune spiegazioni.
Raccomando di verificare la documentazione dell'API e di verificare tutto ciò che è possibile con il set di ricerca.
Il utente il set di dati restituisce una piccola quantità di informazioni su un determinato utente. Si noti che la chiave API è non necessario.
$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, 'http://marketplace.envato.com/api/v1/user:collis.json'); curl_setopt ($ ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); $ ch_data = curl_exec ($ ch); curl_close ($ ch); if (! empty ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); eco '
Dato che restituiamo le informazioni solo da un utente, non è necessario eseguire alcun ciclo: è sufficiente emettere i dati.
Probabilmente non avrai mai bisogno di usare il rilasci set, ma ho detto che avremmo coperto ogni set pubblico, ed è quello che fanno bene. Il set di versioni restituisce il rilascio e imposta le informazioni per l'API. Fondamentalmente, è semplicemente usato per generare documentazione. Nel caso in cui desideri che lo snippet visualizzi queste informazioni, potresti trovarlo di seguito:
$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, 'http://marketplace.envato.com/api/v1/releases.json'); curl_setopt ($ ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); $ ch_data = curl_exec ($ ch); curl_close ($ ch); if (! empty ($ ch_data)) $ json_data = json_decode ($ ch_data, true); print_r ($ json_data); else echo 'Ci dispiace, ma si è verificato un problema durante la connessione all'API.';
Abbiamo coperto ogni singolo set elencato nel set pubblico di v1 dell'API! Sentiti libero di darti una pacca sulla schiena e vai a mangiare un po 'di pancetta, te lo meriti.
Questo articolo è stato originariamente pubblicato sul blog ThemeForest alla fine dell'anno scorso. Attualmente stiamo effettuando il porting su alcuni degli articoli più popolari su Nettuts+.