De las Directrices de la API:
Cuando tu aplicación realiza algo similar a una descarga (como cuando un usuario elige la imagen para incluirla en una publicación de blog, la establece como encabezado, etc.), debes enviar una solicitud al punto final de descarga devuelto bajo la photo.links.download_location
propiedad.
Las descargas y las vistas son una de las principales motivaciones de muchos colaboradores de Unsplash. Al abrir la API Unsplash a aplicaciones de terceros, más usuarios ven y usan sus fotografías, lo que los inspira a contribuir más, a otros colaboradores a unirse y a crear una biblioteca aún mejor para ti y tu comunidad de creativos.
Cada foto tiene un enlace de descarga único que existe en el campo photo.links.download_location
incluido con todas las fotos.
{ "id": "LBI7cgq3pbM", "width": 5245, "height": 3497, "color": "#60544D", "urls": { ... }, "user": { ... }, "links": { "self": "https://api.unsplash.com/photos/LBI7cgq3pbM", "html": "https://unsplash.com/photos/LBI7cgq3pbM", "download": "https://unsplash.com/photos/LBI7cgq3pbM/download", // don't use this property "download_location": "https://api.unsplash.com/photos/LBI7cgq3pbM/download?ixid=MnwxMTc4ODl8MHwxfHNlYXJjaHwxfHxwdXBweXxlbnwwfHx8fDE2MTc3NTA2MTM" // use this one ;) }}
Cuando llames al punto final de download_location
, asegúrate de autorizar la llamada (incluyendo tu código o client_id
el del usuario), de lo contrario recibirás un 401
. Asegúrate de incluir los parámetros de consulta incluidos en el URL (como el ixid
).
Una acción “similar a una descarga de una imagen” se puede considerar como una acción en la que un usuario hace algo con la foto, normalmente insertarla o colocarla en algún lugar.
Algunos ejemplos de nuestras propias aplicaciones de API:
en los Fondos de pantalla de Unsplash, cuando un usuario establece la foto como su fondo de pantalla, activamos el punto final de descarga de la foto
en Unsplash para Google Slides, cuando un usuario elige una foto para insertarla en su presentación, se activa el punto final de descarga de la foto
Algunos ejemplos de aplicaciones de terceros:
en Craft de Invision, cuando un usuario inserta una foto en Sketch o Photoshop, se activa el punto final de descarga
en Ghost, cuando un usuario inserta una foto en una publicación de blog, se activa el punto final de descarga
en Trello, cuando un usuario elige una foto como fondo para su board, se activa el punto final de descarga
en Over, cuando un usuario selecciona una foto para remezclar, se activa el punto final de descarga
Hemos descubierto que lo mejor es activar el punto final de forma asíncrona para asegurarnos de que no ralentice las interacciones de los usuarios.
Nota: este es únicamente un punto final de eventos usado para incrementar la cantidad de descargas que tiene una foto. Puedes pensar en ello de manera muy similar al evento de vista de páginas en Google Analytics, donde incrementas un contador en el backend. La download_location
no se usa para incrustar la foto (utiliza las propiedades de photo.urls.*
en su lugar) ni para dirigir al usuario que descarga la foto (utiliza la photo.urls.full
para eso en su lugar).
Algunos ejemplos de pseudocódigo que usan la unsplash-js
biblioteca:
// user searches for 'dogs' and chooses to use the first resultunsplash.search.photos({ query: 'dogs' }).then(result => { if (result.type === 'success') { const firstPhoto = result.response.results[0]; // do something with the image URLs, like embedding it in a hypothetical post $('img.post').attr('src', firstPhoto['urls']['regular']); // trigger a download event unsplash.photos.trackDownload({ downloadLocation: photo.links.download_location, }); });