Axuda de The Movie Database

Hi there. I don't think the field "certification" in the discover route is working. I have some search filters and I get the results as though certification hasn't been selected. Here's my code:

const fetchMovies = async () => {
    const queryParams = {
      api_key: apiKey,
      sort_by: sortBy,
      "vote_average.gte": voteAverageGte,
      "vote_average.lte": voteAverageLte,
      "primary_release_date.gte": convertToYYYYMMDD(primaryReleaseDateGte),
      "primary_release_date.lte": convertToYYYYMMDD(primaryReleaseDateLte),
      with_genres: genreSelections.join(","),
      certification: certificationSelections.join("|"),
      "vote_count.gte": voteCountGte,
      "with_runtime.gte": withRuntimeGte,
      "with_runtime.lte": withRuntimeLte,
      page: pageNumber,
      language: language,
      region: "BR"
    };
    for (const key in queryParams) {
      // Just checking if the dates are valid
      if (key === "primary_release_date.gte" || key === "primary_release_date.lte")
      {
        if (!moment(queryParams[key], 'YYYY-MM-DD').isValid())
        delete queryParams[key];
      }
      else if (queryParams[key] === null || queryParams[key] === "") {
        delete queryParams[key];
      }
    }
    try {
      const response = await axios.get(filteredMovieURL, {
        params: queryParams,
      });
      const data = response.data;
      setMovies((prevMovies) => [...prevMovies, ...data.results]);
    } catch (error) {
      console.error("Erro ao receber os dados:", error);
    }
  };

For instance, when using the URL:

https://api.themoviedb.org/3/discover/movie?api_key=MY_API_KEY&certification=L&page=1&language=pt-BR&region=BR

I get all of the movies as though the certification hasn't been specified. Also, I've noticed none of the 20 array elements has a certification field. Here's a screenshot: Mission Impossible fields

2 respostas (na páxina 1 de 1)

Jump to last post

Hi @vitorary90, I believe that you should use the filter "certification_country" to specify a country for certifications. However, the discover movie documentation does say to use "region". Hopefully a staff member or moderator will look at this and tell us which is correct.

The certification is not included in the results, to see a movie certification you would have to call the movie release dates endpoint for each movie.

Also, it looks like your code may try to join multiple certifications with "|", I'm not sure but I believe you can only specify one certification. Again, hopefully someone else may be able to give more information. You can specifiy a range of certifications with "certification.lte" and/or "certification.gte", the names and order are given in the certifications for movies list.

Using certification_country worked. On a sidenote, using "|" also worked. Thanks for your help, Robbie.

Non podes atopar unha película ou serie? Inicia sesión para creala.

Global

s amosar a barra de procura
p abrir menú do perfil
esc pechar e abrir xanela
? abrir xanela de atallos do teclado

En páxinas de medios

b atrás (ou á principal se aplica)
e ir a editar páxina

En páxinas de tempadas de televisión

(flecha dereita) ir á tempada seguinte
(flecha esquerda) ir á tempada anterior

En páxinas de episodios de televisión

(flecha dereita) ir ao episodio seguinte
(flecha esquerda) ir ao episodio anterior

En todas as páxinas de imaxe

a abrir a xanela de engadir imaxe

En todas as páxinas de edición

t abrir selector de traducións
ctrl+ s enviar formulario

Nas páxinas de debate

n crear un novo debate
w amosar o estado do seguimento
p mudar público/privado
c mudar abrir/pechar
a abrir actividade
r responder no debate
l ir á última resposta
ctrl+ enter eviar a túa mensaxe
(flecha dereita) páxina seguinte
(flecha esquerda) ir á páxina anterior

Configuración

Queres valorar ou engadir o elemento a unha listaxe?

Iniciar sesión