Hvis du ikke er klar over, har Envato en stabil og fantastisk API for å jobbe med det som er super kraftig og super enkel. Den nyeste versjonen (på tidspunktet for skriving) er utgivelse v2. I denne artikkelen vurderer vi hvordan du får tilgang til hvert enkelt offentlig sett fra Envato API.
Første ting først: du må vite hvor du skal finne API, hva det er, og hvordan det virker. Du finner den offisielle API-utgivelsen på forumene, samt oppdateringen til API-tråden og oppdateringsinformasjonen for v1.
API-en fungerer ved å gjøre forespørsler til egendefinerte nettadresser som inneholder data som du ønsker å bli returnert. Dataene kan også returneres i to formater, xml eller JSON, som er returnert er opp til deg. Jeg foretrekker å returnere som JSON og bruke PHPs json_decode for å slå dataene i nestede arrays.
Nedenfor vil du se et skjermbilde av alle de nåværende tilgjengelige offentlige settene. Vi vil gjennomgå hver og en av disse i dag, individuelt og med et arbeidskodeeksempel og forhåndsvisning av sluttresultatet!
For hvert sett som vi dekker i dag, vil jeg kort beskrive hva punktet av settet er, legge inn koden, og deretter forklare hvert trinn av koden nedenfor. Sørg for å stille spørsmål om noen av kodene du finner nedenfor.
Også, gjerne bruke denne koden og teknikkene som er lært i denne opplæringen, men du ønsker det!
De blog-innlegg sett lar deg spørre og vise en liste over blogginnlegg for et bestemt marked. Det krever en parameter, som er markedsplassen du vil ha de siste blogginnleggene fra.
// Initialiser krølle $ 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); hvis (! tomt ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ data_count = count ($ json_data ['blogginnlegg']) -1; ekko '
La oss gå gjennom det ovennevnte stykket i detalj, som resten av utdragene våre vil se veldig ut.
Hold disse detaljene i bakhodet; Som jeg sa, vil du se dette mønsteret i nesten hvert sett vi dekker, selv om de vil variere litt.
Og en demonstrasjon av produksjonen:
De aktive gjenger sett kan du trekke ut noen nylig aktive forumtråder.
$ 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); hvis (! tomt ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ data_count = count ($ json_data ['aktive tråder']) -1; ekko '
Legg merke til noen ting her; en, vi har endret vår forespørselsadresse for å gjenspeile det nye settet vi ønsker å skaffe oss. For det andre, merk at array navnene har endret seg som de vil med hvert nytt sett vi ber om. Til slutt, legg merke til hvordan print_r er kommentert. Dette er veldig nyttig for feilsøking og visning av strukturen og hierarkiet av dataene.
Og en demonstrasjon av produksjonen:
Ikke la navnet på antall-of-filer la deg lure deg. Det er ikke nummeret på en brukernes filer (men vi vil dekke dette!), Men snarere antall filer i en gitt kategori fra et gitt marked. For eksempel, dette vil gi deg mulighet til å finne ut hvor mange totale nettstedskilder vi har på ThemeForest, som vi nå skal gjøre.
$ 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); hvis (! tomt ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ data_count = count ($ json_data ['number-of-files']) -1; ekko '
Selvfølgelig har vår forespørsel om nettadresser endret seg, og vi har passert parameteren til Themeforest, som er markedsplassen vil vi trekke dataene fra. Et eksempel på utdataene fra denne brikken er nedenfor:
På samme måte som ThemeForest-hjemmesiden viser en liste over nye filer, kan du også få tilgang til nye filer fra en gitt markedsplass fra bruk av nye-filer sett. Et fint tillegg fra dette settet, er muligheten til å vise miniatyrbildet, som du snart vil se.
$ 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); hvis (! tomt ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ data_count = count ($ json_data ['new-files']) -1; ekko '
I motsetning til våre tidligere utdrag, krever dette settet to parametere. Det krever henholdsvis markedsplassen og ønsket kategori. Legg merke til at vi har lagt til noen PHP og markup innsiden av vår forløp. Dette tillater oss å vise et miniatyrbilde av elementet.
En prøveutgang av denne brikken er under:
I likhet med å vise nylig lastede varer til en gitt markedsplass, kan vi også vise populære varer fra en gitt markedsplass. Kanskje du vil vise en liste over populære ThemeForest-filer på bloggen din. Denne brikken vil oppnå det målet.
$ 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); hvis (! tomt ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ json_short = $ json_data ['popular'] ['items_last_week']; // Lagre oss noen skrive. $ data_count = count ($ json_short) -1; ekko '
Legg merke til hvordan vi har lagt til en ekstra variabel som heter json_short for å redde oss noen skrive mens du går gjennom den nestede gruppen med returnerte data. På bare noen få linjer med kode, kan vi vise miniatyrbildet, navnet og linken til varen som vist nedenfor:
De nye-files-fra-user er et populært sett som vi brukte en stund tilbake da vi opprettet et WordPress-plugin med Envato API. Med dette settet kan du hente de 10 nyeste filene en bruker har lastet opp, og dataene som følger med den. Du kan bruke dette settet til å markedsføre deg selv automatisk på bloggen din hver gang du laster opp et nytt element.
$ 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); hvis (! tomt ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ data_count = count ($ json_data ['new-files-from-user']) -1; ekko '
Parametrene som kreves er brukernavnet og markedsplassen ønsket. Resten av koden følger den samme logikken som vi har diskutert. Nedenfor er et eksempel på utgangen to av mine siste filer.
De random-nye-filer sett er ganske selvforklarende og fungerer som forventet. Den returnerer en tilfeldig liste over nylig opplastede filer fra en gitt markedsplass. Det returnerer også metadata om filen du er fri til å bruke og manipulere.
$ 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); hvis (! tomt ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ data_count = count ($ json_data ['random-new-files']) -1; ekko '
Det er ingenting du ikke har sett her allerede. Vi bruker dette settet til å vise noen miniatyrbilder og tittelen. Husk å sjekke ut alle dataene som returneres, men du kan være interessert i det. Et skjermbilde av utgangen er under:
Det er riktig, du kan faktisk bruke API for å søke etter egendefinerte data i egendefinerte kategorier fra egendefinerte markedsplasser! Devsene trodde APIen gjennom, og Søke sett er perfekt bevis på det. La oss ta en titt på en kort søkebrikke. Husk at du kan ta alle disse dataene fra brukerinngang og sette opp et tilpasset Envato-søk på nettstedet ditt, men det ligger utenfor omfanget av denne opplæringen.
$ 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); hvis (! tomt ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); $ data_count = count ($ json_data ['search']) -1; ekko '
Ovenfor er det noe som forklarer.
Jeg anbefaler å sjekke ut API-dokumentasjonen og sjekke ut alt som er mulig med søkesettet.
De bruker datasett gir en liten mengde informasjon om en bestemt bruker. Legg merke til at API-nøkkelen er ikke nødvendig.
$ 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); hvis (! tomt ($ ch_data)) $ json_data = json_decode ($ ch_data, true); // print_r ($ json_data); ekko '
Siden vi kun returnerer informasjon fra en bruker, er det ikke nødvendig å utføre looping - bare utdataene.
Du trenger sannsynligvis aldri å bruke utgivelser satt, men jeg sa at vi ville dekke alle offentlige sett, og det er det som gjør det bra. Utgivelsessettet returnerer utgivelse og angir informasjon for API. I utgangspunktet er det bare brukt til å generere dokumentasjon. Bare hvis du ønsker at brikken skal vise denne informasjonen, kan du finne den nedenfor:
$ 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); hvis (! tomt ($ ch_data)) $ json_data = json_decode ($ ch_data, true); print_r ($ json_data); else echo 'Beklager, men det oppstod et problem å koble til API'en.';
Vi har dekket hvert enkelt sett som er oppført i det offentlige settet av v1 i API! Du er velkommen til å klappe deg selv på baksiden og gå og spise litt bacon, du fortjener det.
Denne artikkelen ble opprinnelig postet på ThemeForest bloggen sist i fjor. Vi leverer nå over noen av de mer populære artiklene til Nettuts+.