利用 Google Spreadsheet 的 JSON & imgur 的圖片開發 iOS App,比方電影 App
首先要說一下我是透過gsx2json提供的API,他的API網址是http沒有s的,我用專案執行會出錯,所以我用Playground 來練習
建好Spreadsheet
欄位及內容如下
這是一個介紹電影的表單
圖片網址是上傳到imgur之後取得的網址
很驚訝的是竟然不用註冊登入,圖片上傳上去就可以用了,很佛心啊,只是不知道連結是否是很快就失效了
接下來取得spreadsheet的id
網址/d/後的字串是Spreadsheet的id
1hnzfql4M4Gr0orCYumCbRA9cNkkxmuwTl1J9ewlxlko
然後點選檔案 -> 發佈到網路
接著點選發佈,我的已經發佈了所以顯示的是已發佈
取得JSON 資料的API網址
取得方式有兩種,一個是透過gsx2json提供的API,一個是透過google官方的網址
我是透過gsx2json提供的API,因為看來比較清楚易懂,之後再找時間研究google的
http://gsx2json.com/api?id=spreadsheet 的 id&columns=false
這邊將spreadsheet 的 id設為剛取得的
1hnzfql4M4Gr0orCYumCbRA9cNkkxmuwTl1J9ewlxlko
在網址列貼上
http://gsx2json.com/api?id=1hnzfql4M4Gr0orCYumCbRA9cNkkxmuwTl1J9ewlxlko&columns=false
得到如下結果
將內容貼到如下網址
會變成這樣
撰寫對應的類別
struct MovieResults 對應最外層
在MovieResults裡面建立一個rows陣列對應上圖的rows
rows裡面存放Movie物件,每個Movie物件有上圖name、intro等五個欄位
因為有日期需使用DateDecodingStrategy解析
列印日期我原本是寫print(movies[0].date),列印出來的日期都會少一天,後來詢問了peter才知道要用DateFormatter轉換成顯示的字串,後來我就加了如下程式碼,這樣日期就正確了
最後面的這段程式碼只是為了要秀確實有抓到圖片
完整程式碼: