Assistance de TMDB

I have a list of 500+ movies and currently I'm making a new API call for each movie.

const getMovie = async (tmdbId, apiKey) => {
    const url = `https://api.themoviedb.org/3/movie/${tmdbId}?api_key=${apiKey}&append_to_response=credits,release_dates`;
    const response = await fetch(url);
    const data = await response.json();
    return data;
};

The above getMovie function is being called for every single movie in my list. I was wondering if there is a way to get the data for several movies by, for instance, comma separating their TMDB IDs and making a single API call for more than one movie at a time.

To give you an example, Spotify offers a getAlbum service which returns the catalog information for a single album. It can be accessed as follows:

const getAlbum = async (albumID, accessToken) => {
    const url = `https://api.spotify.com/v1/albums/${albumID}?market=US`;
    const headers = { Authorization: `Bearer ${accessToken}` };
    const options = { method: 'GET', headers };
    const response = await fetch(url, options);
    const data = await response.json();
    return data;
};

However, Spotify also offers a getSeveralAlbums service which returns the catalog information for a maximum of 20 Albums at a time. It can be accessed as follows:

const getSeveralAlbums = async (albumIDs, accessToken) => {
    const albumIDsStr = albumIDs.slice(0, 20).join(',');
    const url = `https://api.spotify.com/v1/albums?ids=${albumIDsStr}&market=US`;
    const headers =  { Authorization: `Bearer ${accessToken}` };
    const options = { method: 'GET', headers };
    const response = await fetch(url, options);
    const data = await response.json();
    return data;
};

In the above function, albumIDsStr is a comma separated list of several Spotify IDs, e.g. 3mH6qwIy9crq0I9YQbOuDf,0k7ALIqqds5oGFtpMsaHLK,5HOHne1wzItQlIYmLXLYfZ etc. thus reducing the number of API calls required by 20x (since Spotify only allows a maximum of 20 albums per fetch request).

Any assistance would be much appreciated! Have a good day.

2 réponses (sur la page 1 sur 1)

Jump to last post

Hi @ragonscreen,

While this is not possible at this time, we do already have a ticket for tracking this request here. You can watch/vote for it.

Cheers.

@travisbell Thank you so much for your reply, I will definitely be checking out the tracking request. Have a great day!

Un film, une émission télévisée ou un artiste est introuvable ? Connectez-vous afin de créer une nouvelle fiche.

Général

s Mettre le curseur dans la barre de recherche
p Ouvrir le menu du profil
esc Fermer une fenêtre ouverte
? Ouvrir la fenêtre des raccourcis clavier

Sur les pages des médias

b Retour (ou vers le parent si faisable)
e Afficher la page de modification

Sur les pages des saisons des émissions télévisées

Afficher la saison suivante (flèche droite)
Afficher la saison précédente (flèche gauche)

Sur les pages des épisodes des émissions télévisées

Afficher l'épisode suivant (flèche droite)
Afficher l'épisode précédent (flèche gauche)

Sur toutes les pages des images / photos

a Ouvrir la fenêtre d'ajout d'image / photo

Sur toutes les pages de modifications

t Ouvrir le sélecteur de traduction
ctrl+ s Envoyer le formulaire

Sur les pages des discussions

n Créer une nouvelle discussion
w Basculer le statut de suivi
p Basculer publique / privée
c Basculer fermer / ouvrir
a Ouvrir l'activité
r Répondre à la discussion
l Afficher la dernière réponse
ctrl+ enter Envoyer votre message
Page suivante (flèche droite)
Page précédente (flèche gauche)

Paramètres

Vous souhaitez évaluer ou ajouter cet élément à une liste ?

Connexion