Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 22058

映画情報を取得するAPIを使って上映中の映画と評価の高い映画の一覧を表示してみた。

$
0
0

やったこと

映画情報を取得するAPI(TMDB)を使って上映中の映画と評価の高い映画の一覧を表示してみました。

全体のページはこんな感じです。
スクリーンショット 2020-04-20 8.43.23.png

横スクロールができるようになってます。
スクリーンショット 2020-04-20 8.44.25.png

画像をクリックすると詳細が表示されます。
スクリーンショット 2020-04-20 8.45.10.png

TMDBを利用するために

まずは、TMDBでアカウント作成が必要です。
その後、「settings > API」を開くと、APIの利用申請ができます。

画面に表示するために

まずは、HTMLに表示するための領域を記述

今回は、ulタグ内に小要素を詰め込んでいきます。
ulタグを利用した理由は、横スクロールを実現したかったためです。

<divid="container"class="container"><sectionclass="eachMovieSection"><h2>Now Playing</h2><ulclass="horizontal_scroll"id="horizontal_scroll_nowPlaying"></ul></section><sectionclass="eachMovieSection"><h2>Top Rated</h2><ulclass="horizontal_scroll"id="horizontal_scroll_popular"></ul></section></div>

TMDBで情報を取得する

とりあえず、コンソール上に取得してみましょう。

constgetNowPlayingURL='https://api.themoviedb.org/3/movie/now_playing?api_key=APIKEYを入力';fetch(getNowPlayingURL).then(response=>{returnresponse.json();}).then(data=>{data.results.map(movie=>{console.log(movie);});}).catch(error=>{console.log('error');});

取得した情報をulタグに詰め込む

一旦オブジェクトを生成し、それを配列に格納しています。
これは、一覧ページで表示しているのは画像とタイトルだけですが、詳細ページで評価、上映開始日、概要なども表示しているためです。
その後、liタグを生成し、liタグに画像やタイトルをappendしています。
その後、liタグをulタグにappendしています。

fetch(getNowPlayingURL).then(response=>{returnresponse.json();}).then(data=>{data.results.map(movie=>{constnowPlayingMovie=newNowPlayingMovie(movie.id,movie.title,movie.poster_path,movie.vote_average,movie.overview,movie.release_date);nowPlayingMovies.push(nowPlayingMovie);constrow=document.createElement('li');row.classList.add('horizontal_pic');constposter=document.createElement('img');poster.src=`https://image.tmdb.org/t/p/w300_and_h450_bestv2/${movie.poster_path}`;consttitle=document.createElement('p');title.textContent=movie.title;horizontal_scroll_nowPlaying.appendChild(row);row.appendChild(poster)row.appendChild(title);});}).catch(error=>{console.log('error');});

できた!

おそらく皆さんも表示できたと思います!
意外と楽に映画情報を引っ張ってこれるので、今度は詳細ページに出演者の顔写真なども表示していきたいです。
APIが便利すぎました。製作者に感謝です。

これからはJavaScriptのフレームワークを勉強していこうと思います。

最後まで読んでくださり、ありがとうございました。


Viewing all articles
Browse latest Browse all 22058

Trending Articles