API串接練習:使用YouTube Data API,打造追蹤留言神器

--

圖片表示被黑粉們攻擊到體無完膚的創作者。
圖片表示被黑粉們攻擊到體無完膚的創作者。

雖然每一部影片都是創作者的嘔心瀝血之作,但內容再好,不被觀眾喜歡,流量上的表現就不會好;就像在愛情裏,不被愛的那個才是第三者。其實有時候留言區會比影片本身還要好笑,用了這一支API,可以免去讓人家賺流量或者跳廣告的機會,直接進入留言區觀看重點,如果是黑粉的話更可以盡情的享用喔。

本篇YouTube Data API的使用是參考以上Peter的介紹使用。

這一次練習總共用了兩支API:

第一層目標是做到先搜出自己想要找到的影片:

https://www.googleapis.com/youtube/v3/search?part=snippet&q=(搜尋詞)&key=(自己的google金鑰)&type=video&maxResults=50

因為搜尋詞是正體中文,一開忘了做處理,所以造成URL一直是invalid的窘境,在我把家裡的牆壁都撞破之後,才想起小王子的諄諄教誨,要在url字串後面加:

.addingPercentEncoding withAllowedCharacters: .urlQueryAllowed

針中文加上百分號的編碼處理,才能使API正常運作。

第二層才是進入該影片的留言區。

https://www.googleapis.com/youtube/v3/commentThreads?part=snippet,replies&videoId=(video的id)&key=(自己的google金鑰)

伍佰老師的【浪人情歌】是我近期在留言區看到最有趣的留言了,明明在看的時候就知道有九成的機率在瞎掰,但看完之後嘴角還是會不自覺得上揚。

玩這一支API讓我覺得比較麻煩的是取得的Json字串有滿多層的,看得我這個串接新手是眼花撩亂,卡關卡很久以下分享我的Struct,有兩種主Struct,一個是要放搜尋後結果:

另一種struct是要放該影片的所有留言:

基本上取回的Json中都會有留言者的大頭貼、暱稱,以及留言的時間及修改的時間,甚至是有幾個人按讚都有呢。材料都有,就看拿到得人怎麼運用了;像一樣都是鯛魚,有人可以做出真鯛大陸圖、轉生春捲,有人可以做出什錦蔬菜紅燒下巴、烈冰鮮鯛山,全憑個人功力了。

畫面的呈現主要以TableView的方式呈現,嘗試了兩種操作Tableview的方法,第一種是使用ViewController去extension→UITableViewDelegate及UITableViewDataSource,在ViewController上面再放TableView,據我目前的理解,好處可以控制TableView的大小,所以我就在TableView的上方偷塞了一個搜尋影片用的TextField及Button;若是使用TableViewController就會直接滿版。

第二種是直接使用TableViewController去操作,當然storyBoard上各頁面的class及identifier該加的還是要加好,初學開發iOS此處吃了不少的虧。

頁面傳遞資料的部份這次都是用@IBSegueAction的方式來作處理。

本次練習開始嘗試使用guard let的語法,參考完Peter的解說之後直接茅塞頓開,功力大增。

container View

選到tableViewCell裡的button不等於選到tableviewCell

本次練習有兩個坑未解,期待明天的我都能比今天的我更進步。最後附上github程式碼,有興趣的人可以一起交流交流。

--

--