Si no lo sabes, Envato tiene una API estable y fantástica con la que trabajar, que es super potente y super simple. La última versión (en el momento de la escritura) es la versión v2. En este artículo, revisaremos cómo acceder a cada conjunto público único desde la API de Envato.
Lo primero es lo primero: necesita saber dónde encontrar la API, qué es y cómo funciona exactamente. Puede encontrar la versión oficial de la API en los foros, así como la actualización del subproceso de la API y la información de actualización de v1.
La API funciona realizando solicitudes a direcciones URL personalizadas que contienen datos que desea que se devuelvan. Los datos también se pueden devolver en dos formatos., xml o JSON, Lo que se devuelve depende de usted. Prefiero volver como JSON y usar PHPs json_decode para convertir los datos en matrices anidadas.
A continuación, verá una captura de pantalla de todos los conjuntos públicos disponibles actualmente. Revisaremos cada uno de estos hoy, individualmente, y con un ejemplo de código de trabajo y una vista previa del resultado final!
Para cada conjunto que cubrimos hoy, describiré brevemente cuál es el punto del conjunto, publicaré el código y luego explicaré cada paso del código a continuación. Asegúrese de hacer cualquier pregunta sobre cualquiera de los fragmentos de código que encontrará a continuación..
Además, no dude en utilizar este código y las técnicas aprendidas en este tutorial como desee.!
los publicaciones de blog set le permite consultar y mostrar una lista de publicaciones de blog para cualquier mercado en particular. Requiere un parámetro, que es el mercado en el que le gustaría recibir las publicaciones recientes del blog.
// Inicializar 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 '
Caminemos a través del fragmento anterior en detalle, ya que el resto de nuestros fragmentos se verán muy similares..
Mantenga estos detalles en mente; como dije, verás este patrón en casi todos los sets que cubrimos, aunque variarán ligeramente.
Y una demo de la salida:
los hilos activos conjunto le permite sacar algunos hilos de foro recientemente activos.
$ 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 '
Note algunas cosas aquí; En primer lugar, hemos cambiado nuestra URL de solicitud para reflejar el nuevo conjunto que queremos obtener. En segundo lugar, tenga en cuenta que los nombres de las matrices han cambiado como lo harían con cada nuevo conjunto que solicitemos. Por último, observa cómo print_r esta comentado Esto es muy útil para depurar y ver la estructura y jerarquía de los datos..
Y una demo de la salida:
No dejes que el nombre de la Número de archivos conjunto te engañe No es el número de archivos de un usuario (¡pero lo cubriremos!) Sino el número de archivos en una categoría dada de un mercado determinado. Por ejemplo, esto le permitirá saber cuántas plantillas de sitios tenemos en ThemeForest, lo que haremos ahora.
$ 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 ['número de archivos')) -1; eco '
Por supuesto, nuestra solicitud de URL ha cambiado y hemos pasado el parámetro de bosque temático, cuál es el mercado del que extraeremos los datos. A continuación se muestra un ejemplo de la salida de este fragmento:
Al igual que la página de inicio de ThemeForest muestra una lista de archivos nuevos, usted también puede acceder a los archivos nuevos de un mercado dado desde el uso nuevos archivos conjunto. Una buena adición de este conjunto, es la capacidad de mostrar también la miniatura del elemento, como verás en breve.
$ 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-files']) -1; eco '
A diferencia de nuestros fragmentos anteriores, este conjunto requiere dos parámetros. Requiere el mercado y la categoría deseada respectivamente. Observe que hemos agregado algo de PHP y marcado dentro de nuestro bucle for. Esto nos permite mostrar una miniatura del elemento..
A continuación se muestra una salida de muestra de este fragmento:
De forma similar a la visualización de artículos cargados recientemente en un mercado determinado, también podemos mostrar artículos populares de un mercado determinado. Quizás desee mostrar una lista de los archivos populares de ThemeForest en su blog. Este fragmento lograría ese objetivo..
$ 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']; // Guárdanos algo de escritura. $ data_count = count ($ json_short) -1; eco '
Observe cómo hemos agregado una variable adicional llamada json_short para ahorrarnos algo de escritura mientras atravesamos la matriz anidada de datos devueltos. En solo unas pocas líneas de código, podemos mostrar la miniatura, el nombre y el enlace del elemento como se muestra a continuación:
los nuevo-archivos-de-usuario es un conjunto popular que utilizamos hace un tiempo cuando creamos un complemento de WordPress con la API Envato. Este conjunto le permite recuperar los 10 archivos más nuevos que un usuario ha cargado y los datos que los acompañan. Puede utilizar este conjunto para promocionarse en su blog automáticamente cada vez que cargue un nuevo elemento..
$ 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 '
Los parámetros requeridos son el nombre de usuario y el mercado deseado. El resto del fragmento sigue la misma lógica que hemos estado discutiendo. A continuación se muestra un ejemplo de la salida de dos de mis archivos recientes.
los nuevos archivos aleatorios El conjunto es bastante autoexplicativo y actúa como se espera. Devuelve una lista aleatoria de los archivos recién cargados de un mercado determinado. También devuelve metadatos sobre el archivo que puede usar y manipular libremente..
$ 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 '
No hay nada que no hayas visto ya aquí. Estamos utilizando este conjunto para mostrar algunas miniaturas y el título. Sin embargo, asegúrese de revisar todos los datos que se devuelven, puede que le interese. Una captura de pantalla de la salida es a continuación:
Así es, ¡puede usar la API para buscar datos personalizados en categorías personalizadas desde mercados personalizados! Los desarrolladores realmente pensaron a través de la API, y la buscar El conjunto es la prueba perfecta de eso. Echemos un vistazo a un breve fragmento de búsqueda. Tenga en cuenta que podría tomar todos estos datos de la entrada del usuario y configurar una búsqueda personalizada de Envato en su sitio, pero eso está fuera del alcance de este 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 '
Arriba lleva algunas explicaciones..
Recomiendo consultar la documentación de la API y comprobar todo lo que es posible con el conjunto de búsqueda.
los usuario el conjunto de datos devuelve una pequeña cantidad de información sobre un usuario determinado. Tenga en cuenta que la clave API es no necesario.
$ 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 '
Dado que solo estamos devolviendo información de un usuario, no es necesario realizar ningún bucle, solo hay que generar los datos.
Probablemente nunca necesitarás usar el lanzamientos conjunto, pero dije que cubriríamos todos los conjuntos públicos, y eso es lo que hacen bien. El conjunto de lanzamientos devuelve el lanzamiento y la información del conjunto para la API. Básicamente, se utiliza simplemente para generar documentación. En caso de que desee que el fragmento muestre esta información, puede encontrarlo a continuación:
$ 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 'Lo siento, pero hubo un problema al conectarse a la API.';
¡Hemos cubierto todos los conjuntos enumerados en el conjunto público de v1 de la API! Siéntete libre de darte una palmada en la espalda e ir a comer tocino, te lo mereces.
Este artículo se publicó originalmente en el blog ThemeForest a fines del año pasado. Actualmente estamos portando algunos de los artículos más populares a Nettuts+.