Skip to content

Latest commit

 

History

History
919 lines (745 loc) · 24 KB

5.Documentation.apiPixabay.md

File metadata and controls

919 lines (745 loc) · 24 KB

Documentație pentru Funcțiile din apiPixabay.js

Acest fișier conține funcții care interacționează cu API-ul Pixabay pentru a obține imagini și videouri pe baza diferitelor criterii de căutare. Mai jos este o descriere detaliată a fiecărei funcții, modul de utilizare și exemple de integrare în alte fișiere.

Cum să Folosești Funcțiile din apiPixabay.js

Import și Export

Pentru a utiliza funcțiile din apiPixabay.js în alte fișiere, trebuie mai întâi să le exporți și să le imporți corespunzător.

Export

În apiPixabay.js, funcțiile sunt exportate astfel:

export {
  searchImages,
  searchVideos,
  getImageDetails,
  getPopularImages,
  getPopularVideos,
  getRandomImages,
  getRandomVideos,
  getImagesByColor,
  getVideosByColor,
};

Import

Pentru a importa și utiliza aceste funcții în alte fișiere, folosește import:

import { searchImages, getImageDetails } from './apiPixabay.js';

Descrierea Funcțiilor și Modul de Utilizare

1. fetchFromAPI(url)

Descriere

Funcție auxiliară pentru a face cereri HTTP și a obține date de la API.

Parametri

  • url (string): URL-ul pentru cererea API.

Returnează

Un Promise care se rezolvă cu datele obținute de la API.

Exemplu de Utilizare

const API_KEY = '24587351-f51ecbfdd1a1ed72c58205b43';
const BASE_URL = 'https://pixabay.com/api';

async function fetchFromAPI(url) {
  const response = await fetch(url);
  if (!response.ok) {
    throw new Error(`Network response was not ok. Status: ${response.status}`);
  }
  const data = await response.json();
  return data;
}

Detalii Importante

Această funcție este folosită intern de toate celelalte funcții pentru a trimite cereri API și a prelua date. Nu este destinată utilizării directe.

2. searchImages(query, page = 1, perPage = 20)

Descriere

Obține imagini după un cuvânt cheie.

Parametri

  • query (string): Cuvântul cheie pentru căutare.
  • page (number): Numărul paginii de rezultate (implicit 1).
  • perPage (number): Numărul de rezultate pe pagină (implicit 20).

Returnează

Un Promise care se rezolvă cu datele despre imagini pentru cuvântul cheie specificat.

Exemplu de răspuns

{
  "total": 500,
  "totalHits": 100,
  "hits": [
    {
      "id": 195893,
      "pageURL": "https://pixabay.com/photos/blossom-bloom-flower-195893/",
      "type": "photo",
      "tags": "blossom, bloom, flower",
      "previewURL": "https://cdn.pixabay.com/photo/2013/07/21/13/00/rose-165819_150.jpg",
      "previewWidth": 150,
      "previewHeight": 84,
      "webformatURL": "https://pixabay.com/get/54e1d14a4e5aa414f1dc846096293e7b1d39dfe1504c704c7d267ad2914fc7_640.jpg",
      "webformatWidth": 640,
      "webformatHeight": 360,
      "largeImageURL": "https://pixabay.com/get/54e1d14a4e5aa414f6da8c7dda793677173fd7e65a516c48732f7edd964ec2_1280.jpg",
      "imageWidth": 4000,
      "imageHeight": 2250,
      "imageSize": 4731420,
      "views": 7671,
      "downloads": 6439,
      "favorites": 1,
      "likes": 5,
      "comments": 2,
      "user_id": 48777,
      "user": "422737",
      "userImageURL": "https://cdn.pixabay.com/user/2014/06/11/00-53-35-639_250x250.jpg"
    }
    // ...alte imagini
  ]
}

Exemplu de Utilizare

import { searchImages } from './apiPixabay.js';

async function displayImages(query) {
  try {
    const data = await searchImages(query);
    const imagesContainer = document.getElementById('imagesContainer');
    imagesContainer.innerHTML = ''; // Curăță conținutul anterior
    data.hits.forEach(image => {
      const imgElement = document.createElement('img');
      imgElement.src = image.previewURL;
      imgElement.alt = image.tags;
      imagesContainer.appendChild(imgElement);
    });
  } catch (error) {
    console.error('Error fetching images:', error);
  }
}

// Exemplu de apelare
displayImages('nature');

Detalii Importante

Elemente Cheie ale Răspunsului:

  • total: Numărul total de rezultate.
  • totalHits: Numărul total de rezultate relevante.
  • hits: Lista de imagini găsite.
  • hits[0].previewURL: URL-ul imaginii de previzualizare.
  • hits[0].largeImageURL: URL-ul imaginii la rezoluție mare.

3. searchVideos(query, page = 1, perPage = 20)

Descriere

Obține videouri după un cuvânt cheie.

Parametri

  • query (string): Cuvântul cheie pentru căutare.
  • page (number): Numărul paginii de rezultate (implicit 1).
  • perPage (number): Numărul de rezultate pe pagină (implicit 20).

Returnează

Un Promise care se rezolvă cu datele despre videouri pentru cuvântul cheie specificat.

Exemplu de răspuns

{
  "total": 500,
  "totalHits": 100,
  "hits": [
    {
      "id": 16547,
      "pageURL": "https://pixabay.com/videos/id-16547/",
      "type": "film",
      "tags": "floare, natura, primavara",
      "videos": {
        "large": {
          "url": "https://cdn.pixabay.com/vimeo/67822/large.mp4",
          "width": 1920,
          "height": 1080,
          "size": 5090874
        },
        "medium": {
          "url": "https://cdn.pixabay.com/vimeo/67822/medium.mp4",
          "width": 1280,
          "height": 720,
          "size": 2222320
        },
        "small": {
          "url": "https://cdn.pixabay.com/vimeo/67822/small.mp4",
          "width": 640,
          "height": 360,
          "size": 715802
        },
        "tiny": {
          "url": "https://cdn.pixabay.com/vimeo/67822/tiny.mp4",
          "width": 320,
          "height": 180,
          "size": 117018
        }
      },
      "views": 2623,
      "downloads": 1834,
      "favorites": 30,
      "likes": 22,
      "comments": 4,
      "user_id": 48777,
      "user": "422737",
      "userImageURL": "https://cdn.pixabay.com/user/2014/06/11/00-53-35-639_250x250.jpg"
    }
    // ...alte videouri
  ]
}

Exemplu de Utilizare

import { searchVideos } from './apiPixabay.js';

async function displayVideos(query) {
  try {
    const data = await searchVideos(query);
    const videosContainer = document.getElementById('videosContainer');
    videosContainer.innerHTML = ''; // Curăță conținutul anterior
    data.hits.forEach(video => {
      const videoElement = document.createElement('video');
      videoElement.src = video.videos.medium.url;
      videoElement.controls = true;
      videosContainer.appendChild(videoElement);
    });
  } catch (error) {
    console.error('Error fetching videos:', error);
  }
}

// Exemplu de apelare
displayVideos('nature');

Detalii Importante

Elemente Cheie ale Răspunsului:

  • total: Numărul total de rezultate.
  • totalHits: Numărul total de rezultate relevante.
  • hits: Lista de videouri găsite.
  • hits[0].videos: Variantele de rezoluție ale videoclipului.
  • `

hits[0].videos.large.url`: URL-ul videoclipului la rezoluție mare.

4. getImageDetails(imageId)

Descriere

Obține detalii despre o imagine după ID.

Parametri

  • imageId (number): ID-ul imaginii.

Returnează

Un Promise care se rezolvă cu detaliile imaginii pentru ID-ul specificat.

Exemplu de răspuns

{
  "total": 1,
  "totalHits": 1,
  "hits": [
    {
      "id": 195893,
      "pageURL": "https://pixabay.com/photos/blossom-bloom-flower-195893/",
      "type": "photo",
      "tags": "blossom, bloom, flower",
      "previewURL": "https://cdn.pixabay.com/photo/2013/07/21/13/00/rose-165819_150.jpg",
      "previewWidth": 150,
      "previewHeight": 84,
      "webformatURL": "https://pixabay.com/get/54e1d14a4e5aa414f1dc846096293e7b1d39dfe1504c704c7d267ad2914fc7_640.jpg",
      "webformatWidth": 640,
      "webformatHeight": 360,
      "largeImageURL": "https://pixabay.com/get/54e1d14a4e5aa414f6da8c7dda793677173fd7e65a516c48732f7edd964ec2_1280.jpg",
      "imageWidth": 4000,
      "imageHeight": 2250,
      "imageSize": 4731420,
      "views": 7671,
      "downloads": 6439,
      "favorites": 1,
      "likes": 5,
      "comments": 2,
      "user_id": 48777,
      "user": "422737",
      "userImageURL": "https://cdn.pixabay.com/user/2014/06/11/00-53-35-639_250x250.jpg"
    }
  ]
}

Exemplu de Utilizare

import { getImageDetails } from './apiPixabay.js';

async function displayImageDetails(imageId) {
  try {
    const data = await getImageDetails(imageId);
    const imageDetailsContainer = document.getElementById('imageDetailsContainer');
    imageDetailsContainer.innerHTML = ''; // Curăță conținutul anterior
    const image = data.hits[0];
    const imgElement = document.createElement('img');
    imgElement.src = image.largeImageURL;
    imgElement.alt = image.tags;

    const detailsElement = document.createElement('div');
    detailsElement.innerHTML = `
      <p><strong>Tags:</strong> ${image.tags}</p>
      <p><strong>Views:</strong> ${image.views}</p>
      <p><strong>Downloads:</strong> ${image.downloads}</p>
    `;
    
    imageDetailsContainer.appendChild(imgElement);
    imageDetailsContainer.appendChild(detailsElement);
  } catch (error) {
    console.error('Error fetching image details:', error);
  }
}

// Exemplu de apelare
displayImageDetails(195893);

Detalii Importante

Elemente Cheie ale Răspunsului:

  • hits: Lista de imagini găsite.
  • hits[0].pageURL: URL-ul paginii imaginii.
  • hits[0].largeImageURL: URL-ul imaginii la rezoluție mare.

5. getPopularImages(category = '', editorsChoice = false, page = 1, perPage = 20)

Descriere

Obține imagini populare.

Parametri

  • category (string): Categoria imaginii (implicit '').
  • editorsChoice (boolean): Filtru pentru alegerile editorilor (implicit false).
  • page (number): Numărul paginii de rezultate (implicit 1).
  • perPage (number): Numărul de rezultate pe pagină (implicit 20).

Returnează

Un Promise care se rezolvă cu datele despre imagini populare.

Exemplu de răspuns

{
  "total": 500,
  "totalHits": 100,
  "hits": [
    {
      "id": 195893,
      "pageURL": "https://pixabay.com/photos/blossom-bloom-flower-195893/",
      "type": "photo",
      "tags": "blossom, bloom, flower",
      "previewURL": "https://cdn.pixabay.com/photo/2013/07/21/13/00/rose-165819_150.jpg",
      "previewWidth": 150,
      "previewHeight": 84,
      "webformatURL": "https://pixabay.com/get/54e1d14a4e5aa414f1dc846096293e7b1d39dfe1504c704c7d267ad2914fc7_640.jpg",
      "webformatWidth": 640,
      "webformatHeight": 360,
      "largeImageURL": "https://pixabay.com/get/54e1d14a4e5aa414f6da8c7dda793677173fd7e65a516c48732f7edd964ec2_1280.jpg",
      "imageWidth": 4000,
      "imageHeight": 2250,
      "imageSize": 4731420,
      "views": 7671,
      "downloads": 6439,
      "favorites": 1,
      "likes": 5,
      "comments": 2,
      "user_id": 48777,
      "user": "422737",
      "userImageURL": "https://cdn.pixabay.com/user/2014/06/11/00-53-35-639_250x250.jpg"
    }
    // ...alte imagini
  ]
}

Exemplu de Utilizare

import { getPopularImages } from './apiPixabay.js';

async function displayPopularImages(category, editorsChoice) {
  try {
    const data = await getPopularImages(category, editorsChoice);
    const imagesContainer = document.getElementById('popularImagesContainer');
    imagesContainer.innerHTML = ''; // Curăță conținutul anterior
    data.hits.forEach(image => {
      const imgElement = document.createElement('img');
      imgElement.src = image.previewURL;
      imgElement.alt = image.tags;
      imagesContainer.appendChild(imgElement);
    });
  } catch (error) {
    console.error('Error fetching popular images:', error);
  }
}

// Exemplu de apelare
displayPopularImages('nature', true);

Detalii Importante

Elemente Cheie ale Răspunsului:

  • total: Numărul total de rezultate.
  • totalHits: Numărul total de rezultate relevante.
  • hits: Lista de imagini populare găsite.

6. getPopularVideos(category = '', editorsChoice = false, page = 1, perPage = 20)

Descriere

Obține videouri populare.

Parametri

  • category (string): Categoria videoclipului (implicit '').
  • editorsChoice (boolean): Filtru pentru alegerile editorilor (implicit false).
  • page (number): Numărul paginii de rezultate (implicit 1).
  • perPage (number): Numărul de rezultate pe pagină (implicit 20).

Returnează

Un Promise care se rezolvă cu datele despre videouri populare.

Exemplu de răspuns

{
  "total": 500,
  "totalHits": 100,
  "hits": [
    {
      "id": 16547,
      "pageURL": "https://pixabay.com/videos/id-16547/",
      "type": "film",
      "tags": "floare, natura, primavara",
      "videos": {
        "large": {
          "url": "https://cdn.pixabay.com/vimeo/67822/large.mp4",
          "width": 1920,
          "height": 1080,
          "size": 5090874
        },
        "medium": {
          "url": "https://cdn.pixabay.com/vimeo/67822/medium.mp4",
          "width": 1280,
          "height": 720,
          "size": 2222320
        },
        "small": {
          "url": "https://cdn.pixabay.com/vimeo/67822/small.mp4",
          "width": 640,
          "height": 360,
          "size": 715802
        },
        "tiny": {
          "url": "https://cdn.pixabay.com/vimeo/67822/tiny.mp4",
          "width": 320,
          "height": 180,
          "size": 117018
        }
      },
      "views": 2623,
      "downloads": 1834,
      "favorites": 30,
      "likes": 22,
      "comments": 4,
      "user_id": 48777,
      "user": "422737",
      "userImageURL": "https://cdn.pixabay.com/user/2014/06/11/00-53-35-639_250x250.jpg"
    }
    // ...

alte videouri
  ]
}

Exemplu de Utilizare

import { getPopularVideos } from './apiPixabay.js';

async function displayPopularVideos(category, editorsChoice) {
  try {
    const data = await getPopularVideos(category, editorsChoice);
    const videosContainer = document.getElementById('popularVideosContainer');
    videosContainer.innerHTML = ''; // Curăță conținutul anterior
    data.hits.forEach(video => {
      const videoElement = document.createElement('video');
      videoElement.src = video.videos.medium.url;
      videoElement.controls = true;
      videosContainer.appendChild(videoElement);
    });
  } catch (error) {
    console.error('Error fetching popular videos:', error);
  }
}

// Exemplu de apelare
displayPopularVideos('nature', true);

Detalii Importante

Elemente Cheie ale Răspunsului:

  • total: Numărul total de rezultate.
  • totalHits: Numărul total de rezultate relevante.
  • hits: Lista de videouri populare găsite.

7. getRandomImages(query, page = 1, perPage = 3)

Descriere

Obține imagini aleatorii.

Parametri

  • query (string): Cuvântul cheie pentru căutare.
  • page (number): Numărul paginii de rezultate (implicit 1).
  • perPage (number): Numărul de rezultate pe pagină (implicit 3).

Returnează

Un Promise care se rezolvă cu datele despre imagini aleatorii.

Exemplu de răspuns

{
  "total": 500,
  "totalHits": 3,
  "hits": [
    {
      "id": 195893,
      "pageURL": "https://pixabay.com/photos/blossom-bloom-flower-195893/",
      "type": "photo",
      "tags": "blossom, bloom, flower",
      "previewURL": "https://cdn.pixabay.com/photo/2013/07/21/13/00/rose-165819_150.jpg",
      "previewWidth": 150,
      "previewHeight": 84,
      "webformatURL": "https://pixabay.com/get/54e1d14a4e5aa414f1dc846096293e7b1d39dfe1504c704c7d267ad2914fc7_640.jpg",
      "webformatWidth": 640,
      "webformatHeight": 360,
      "largeImageURL": "https://pixabay.com/get/54e1d14a4e5aa414f6da8c7dda793677173fd7e65a516c48732f7edd964ec2_1280.jpg",
      "imageWidth": 4000,
      "imageHeight": 2250,
      "imageSize": 4731420,
      "views": 7671,
      "downloads": 6439,
      "favorites": 1,
      "likes": 5,
      "comments": 2,
      "user_id": 48777,
      "user": "422737",
      "userImageURL": "https://cdn.pixabay.com/user/2014/06/11/00-53-35-639_250x250.jpg"
    }
    // ...alte imagini
  ]
}

Exemplu de Utilizare

import { getRandomImages } from './apiPixabay.js';

async function displayRandomImages(query) {
  try {
    const data = await getRandomImages(query);
    const imagesContainer = document.getElementById('randomImagesContainer');
    imagesContainer.innerHTML = ''; // Curăță conținutul anterior
    data.hits.forEach(image => {
      const imgElement = document.createElement('img');
      imgElement.src = image.previewURL;
      imgElement.alt = image.tags;
      imagesContainer.appendChild(imgElement);
    });
  } catch (error) {
    console.error('Error fetching random images:', error);
  }
}

// Exemplu de apelare
displayRandomImages('nature');

Detalii Importante

Elemente Cheie ale Răspunsului:

  • total: Numărul total de rezultate.
  • totalHits: Numărul total de rezultate relevante.
  • hits: Lista de imagini aleatorii găsite.

8. getRandomVideos(category = '', page = 1, perPage = 20)

Descriere

Obține videouri aleatorii.

Parametri

  • category (string): Categoria videoclipului (implicit '').
  • page (number): Numărul paginii de rezultate (implicit 1).
  • perPage (number): Numărul de rezultate pe pagină (implicit 20).

Returnează

Un Promise care se rezolvă cu datele despre videouri aleatorii.

Exemplu de răspuns

{
  "total": 500,
  "totalHits": 100,
  "hits": [
    {
      "id": 16547,
      "pageURL": "https://pixabay.com/videos/id-16547/",
      "type": "film",
      "tags": "floare, natura, primavara",
      "videos": {
        "large": {
          "url": "https://cdn.pixabay.com/vimeo/67822/large.mp4",
          "width": 1920,
          "height": 1080,
          "size": 5090874
        },
        "medium": {
          "url": "https://cdn.pixabay.com/vimeo/67822/medium.mp4",
          "width": 1280,
          "height": 720,
          "size": 2222320
        },
        "small": {
          "url": "https://cdn.pixabay.com/vimeo/67822/small.mp4",
          "width": 640,
          "height": 360,
          "size": 715802
        },
        "tiny": {
          "url": "https://cdn.pixabay.com/vimeo/67822/tiny.mp4",
          "width": 320,
          "height": 180,
          "size": 117018
        }
      },
      "views": 2623,
      "downloads": 1834,
      "favorites": 30,
      "likes": 22,
      "comments": 4,
      "user_id": 48777,
      "user": "422737",
      "userImageURL": "https://cdn.pixabay.com/user/2014/06/11/00-53-35-639_250x250.jpg"
    }
    // ...alte videouri
  ]
}

Exemplu de Utilizare

import { getRandomVideos } from './apiPixabay.js';

async function displayRandomVideos(category) {
  try {
    const data = await getRandomVideos(category);
    const videosContainer = document.getElementById('randomVideosContainer');
    videosContainer.innerHTML = ''; // Curăță conținutul anterior
    data.hits.forEach(video => {
      const videoElement = document.createElement('video');
      videoElement.src = video.videos.medium.url;
      videoElement.controls = true;
      videosContainer.appendChild(videoElement);
    });
  } catch (error) {
    console.error('Error fetching random videos:', error);
  }
}

// Exemplu de apelare
displayRandomVideos('nature');

Detalii Importante

Elemente Cheie ale Răspunsului:

  • total: Numărul total de rezultate.
  • totalHits: Numărul total de rezultate relevante.
  • hits: Lista de videouri aleatorii găsite.

9. getImagesByColor(color, page = 1, perPage = 20)

Descriere

Obține imagini după culoare.

Parametri

  • color (string): Culoarea pentru căutare.
  • page (number): Numărul paginii de rezultate (implicit 1).
  • perPage (number): Numărul de rezultate pe pagină (implicit 20).

Returnează

Un Promise care se rezolvă cu datele despre imagini pentru culoarea specificată.

Exemplu de răspuns

{
  "total": 500,
  "totalHits": 100,
  "hits": [
    {
      "id": 195893,
      "pageURL": "https://pixabay.com/photos/blossom-bloom-flower-195893/",
      "type": "photo",
      "tags": "blossom, bloom, flower",
      "previewURL": "https://cdn.pixabay.com/photo/2013/07/21/13/00/rose-165819_150.jpg",
      "previewWidth": 150,
      "previewHeight": 84,
      "webformatURL": "https://pixabay.com/get/54e1d14a4e5aa414f1dc846096293e7b1d39dfe1504c704c7d267ad2914fc7_640.jpg",
      "webformatWidth": 640,
      "webformatHeight": 360,
      "largeImageURL": "https://pixabay.com/get/54e1d14a4e5aa414f6da8c7dda793677173fd7e65a516c48732f7edd964ec2_1280.jpg",
      "image

Width": 4000,
      "imageHeight": 2250,
      "imageSize": 4731420,
      "views": 7671,
      "downloads": 6439,
      "favorites": 1,
      "likes": 5,
      "comments": 2,
      "user_id": 48777,
      "user": "422737",
      "userImageURL": "https://cdn.pixabay.com/user/2014/06/11/00-53-35-639_250x250.jpg"
    }
    // ...alte imagini
  ]
}

Exemplu de Utilizare

import { getImagesByColor } from './apiPixabay.js';

async function displayImagesByColor(color) {
  try {
    const data = await getImagesByColor(color);
    const imagesContainer = document.getElementById('imagesByColorContainer');
    imagesContainer.innerHTML = ''; // Curăță conținutul anterior
    data.hits.forEach(image => {
      const imgElement = document.createElement('img');
      imgElement.src = image.previewURL;
      imgElement.alt = image.tags;
      imagesContainer.appendChild(imgElement);
    });
  } catch (error) {
    console.error('Error fetching images by color:', error);
  }
}

// Exemplu de apelare
displayImagesByColor('red');

Detalii Importante

Elemente Cheie ale Răspunsului:

  • total: Numărul total de rezultate.
  • totalHits: Numărul total de rezultate relevante.
  • hits: Lista de imagini găsite pentru culoarea specificată.

10. getVideosByColor(color, page = 1, perPage = 20)

Descriere

Obține videouri după culoare (dacă este suportat).

Parametri

  • color (string): Culoarea pentru căutare.
  • page (number): Numărul paginii de rezultate (implicit 1).
  • perPage (number): Numărul de rezultate pe pagină (implicit 20).

Returnează

Un Promise care se rezolvă cu datele despre videouri pentru culoarea specificată.

Exemplu de răspuns

{
  "total": 500,
  "totalHits": 100,
  "hits": [
    {
      "id": 16547,
      "pageURL": "https://pixabay.com/videos/id-16547/",
      "type": "film",
      "tags": "floare, natura, primavara",
      "videos": {
        "large": {
          "url": "https://cdn.pixabay.com/vimeo/67822/large.mp4",
          "width": 1920,
          "height": 1080,
          "size": 5090874
        },
        "medium": {
          "url": "https://cdn.pixabay.com/vimeo/67822/medium.mp4",
          "width": 1280,
          "height": 720,
          "size": 2222320
        },
        "small": {
          "url": "https://cdn.pixabay.com/vimeo/67822/small.mp4",
          "width": 640,
          "height": 360,
          "size": 715802
        },
        "tiny": {
          "url": "https://cdn.pixabay.com/vimeo/67822/tiny.mp4",
          "width": 320,
          "height": 180,
          "size": 117018
        }
      },
      "views": 2623,
      "downloads": 1834,
      "favorites": 30,
      "likes": 22,
      "comments": 4,
      "user_id": 48777,
      "user": "422737",
      "userImageURL": "https://cdn.pixabay.com/user/2014/06/11/00-53-35-639_250x250.jpg"
    }
    // ...alte videouri
  ]
}

Exemplu de Utilizare

import { getVideosByColor } from './apiPixabay.js';

async function displayVideosByColor(color) {
  try {
    const data = await getVideosByColor(color);
    const videosContainer = document.getElementById('videosByColorContainer');
    videosContainer.innerHTML = ''; // Curăță conținutul anterior
    data.hits.forEach(video => {
      const videoElement = document.createElement('video');
      videoElement.src = video.videos.medium.url;
      videoElement.controls = true;
      videosContainer.appendChild(videoElement);
    });
  } catch (error) {
    console.error('Error fetching videos by color:', error);
  }
}

// Exemplu de apelare
displayVideosByColor('red');

Detalii Importante

Elemente Cheie ale Răspunsului:

  • total: Numărul total de rezultate.
  • totalHits: Numărul total de rezultate relevante.
  • hits: Lista de videouri găsite pentru culoarea specificată.