今年最受歡迎的電影之二
從TMDB搜尋Top 20電影排行
前情提要:
- 從TMDB載入2019年度前20部最受歡迎電影排行榜。
- 電影海報下拉放大圖片效果。
- 首頁電影推薦,從Top 20電影裡面顯示電影海報,每秒換一張圖片。
- 使用TableViewCell列出前20部最受歡迎電影,顯示電影名稱及海報、發行日期、電影評分。
完成了上述功能之後,打算做點選cell可以播放該電影預告片的功能,結果問題來了,我不知道預告片的URL是什麼。
使用原本我拿來取得2019最受歡迎電影的API :
https://api.themoviedb.org/3/discover/movie?api_key=###&sort_by=popularity.desc&include_adult=false&include_video=false&page=1&primary_release_year=2019
顯示的video為false:
我當然是一頭霧水,這樣要如何取得預告片的URL 呢?
那如果用電影的id去找呢?
使用/movie/{movie_id}/videos這個method,拿蜘蛛人電影的id試試看:
https://api.themoviedb.org/3/movie/429617/videos?api_key=###&language=en-US
找出來的資料有id、key、電影名稱、影片來源是YouTube、影片大小、類型為預告片,那…影片URL呢?還是一頭霧水…。
爬了文,發現許多人有跟我一樣的問題:
還好有好心大大回覆:
然後TMDB的開發者也跳出來幫忙回答問題:
噢!原來關鍵在『key』啊~這真是太好了,趕快來實作看看吧!
How to get trailer link from the TMDB API ?
1. You have to get the movie id.
2. Get the key from the movie id.
3. Calling the primary movie video method :
http://api.themoviedb.org/3/movie/131634/videos?api_key=###
Or do with append_to_response as well :
http://api.themoviedb.org/3/movie/131634?api_key=###&append_to_response=videos
4.Build a YouTube URL :
http://youtube.com/watch?v=key
Example :
If I want to find the trailers — Spider-Man: Far from Home
I using this API to find the movie’s id:
https://api.themoviedb.org/3/discover/movie?api_key=###&sort_by=popularity.desc&include_adult=false&include_video=false&page=1&primary_release_year=2019
JSON:
I got the id: 429617
The API will be :
https://api.themoviedb.org/3/movie/429617/videos?api_key=###&language=en-US
There are three keys of the trailer:
Respectively are:
- Official teaser trailer
- International teaser trailer
- Official trailer
Now, I want to watch Official teaser trailer, the key is DYYtuKyMtY8
The trailer URL is :
http://youtube.com/watch?v=DYYtuKyMtY8
Let’s see :
succeeded ! 🙌
Reference here: https://www.themoviedb.org/talk/566f816f92514173ff014fdc
好的!可以來實作點選cell播放預告片的功能了!
你問我為什麼寫英文?
因為我昨天發現有外國人clapped我,那來練習寫一篇英文版的好了,希望外國朋友看得懂我弱弱的英文哈哈哈!如果有寫錯的地方再麻煩大大教教我,感謝~
10/04/2019更新(預告片功能完成囉!):
一樣如果有值得大家參考的地方再麻煩大家幫我拍拍手喲,謝謝大家耐心閱讀🙇♀️