利用 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轉換成顯示的字串,後來我就加了如下程式碼,這樣日期就正確了

最後面的這段程式碼只是為了要秀確實有抓到圖片

完整程式碼:

--

--

YiDa,Tsai
彼得潘的 Swift iOS / Flutter App 開發教室

大家好,我是阿達本名蔡易達,目前待業在復健頸椎,另一方面在準備iOS app。