Swift串接第三方API之關鍵字收尋


閒閒沒事找到一個蠻有趣的API:GDELT GEO 2.0 API https://blog.gdeltproject.org/gdelt-geo-2-0-api-debuts/

文章內表示它集結了從1979年到現在所有開放的資料,每天捕捉世界各地正在發生的事情,事件的發生背景及參與者,以及各地的反應; 看起來好像真的很強大,有興趣的人可以看裡面文章查查調用的方法,今天就教大家一些比較基本的用法並實做出來吧

  1. 關鍵字搜索調用方法

https://api.gdeltproject.org/api/v2/geo/geo?query=(想查詢的東西)

後面還可以加上:format(格式),timespan(時間範圍),maxpoints(最多顯示的點)來限定搜索條件,舉個例子,如果你想搜索1天2小時內每個地區所有有關貿易戰的文章個數,返回JSON數據可以如下寫

https://api.gdeltproject.org/api/v2/geo/geo?query= trade war&format = GeoJSON&timespan = 1d2h

2. UI樣式

3.依回傳JSON格式創造自訂類別

值得注意的是,它所回傳的照片URL個是不一,有的沒有值 有的是https 有的是http(Swift http無法連線的解決方法請參照 Peter老師的 https://reurl.cc/v84go) ,因此沒有值得話我預設給他一張not found圖

4.撰寫程式碼:

這邊就不再一一贅述每個實作方法,請依自己喜好設計想要呈現的結果,我的設計是輸入關鍵字後會把結果傳到tableViewController上,再來依選項轉跳到顯示所有結果的地圖上或這單獨一個地區的頁面,以下是實作結果和github上連結

https://github.com/CYUzKRay/Search.git