#99 串接 Dcard API,模仿開發 Dcard App
注意: 目前無法直接連到 API 抓資料
聽說大學生都用 Dcard,為了證明畢業多年的我們還是大學生,就用 Swift 串接 Dcard API,模仿開發類似 Dcard 的 iOS App,證明自己是大學生吧。
Dcard API 格式
https://dcard.tw/_api
不分類的最新文章
- 不分類最新文章的 JSON 資料
api/ 後接 posts。
https://dcard.tw/_api/posts
透過以上的 JSON 資料,我們可以實現以下畫面的內容,比方標題,大學, like 數量,回應數量,圖片等。
指定文章數量
參數 limit 可指定文章的數量,一次最多 100 筆。
https://www.dcard.tw/_api/posts?limit=數量
範例
https://www.dcard.tw/_api/posts?limit=100
文章的分頁
參數 before 可取得之前的文章。回傳的文章順序是由新到舊,所以下一頁的資料會是之前的文章。
http://dcard.tw/_api/posts/?before=文章id
範例
比方我們取得的最後一篇文章 id 是 232991371,before=232991371
將取得 id 232991371 之前的文章。
- JSON 裡最後一筆資料
- 文章 id 232991371 之前的 JSON 資料
https://www.dcard.tw/_api/posts?before=232991371
文章詳細內容
posts/ 後接文章 id。
https://dcard.tw/_api/posts/文章id
範例
- 文章詳細內容的 JSON 資料
227819459 是 #圖 你/妳還記得棉花糖嗎?
的 id。
https://dcard.tw/_api/posts/227819459
content 欄位是文章的內容,值得注意的,文章裡可能有圖片,影片或網頁的 https 連結,我們可以找出文字裡網址出現的地方,將它換成對應的內容。
文章的留言
posts/文章id/ 後接 comments。
http://dcard.tw/_api/posts/文章id/comments
範例
- 留言的 JSON 資料
227819459 是 #圖 你/妳還記得棉花糖嗎?
的 id。
http://dcard.tw/_api/posts/227819459/comments
留言的分頁
參數 after 可取得時間較新的留言。回傳的留言順序是由舊到新,所以下一頁的資料會是較新的留言。
http://dcard.tw/_api/posts/文章id/comments?after=floor數字
範例
比方我們取得的最後一則留言的 floor 是 30,after=30
將取得 floor 30 之後的留言。
- JSON 資料顯示最後一則留言是 floor 30
- 留言 floor 30 之後的 JSON 資料
http://dcard.tw/_api/posts/227819459/comments?after=30
透過 after=30
取得的第一篇留言是 floor 31。
不分類的熱門文章
- 不分類熱門文章的 JSON 資料
將參數 popular 設為 true 可取得熱門文章。
https://dcard.tw/_api/posts?popular=true
看板(話題)清單
- 看板(話題)清單的 JSON 資料
_api/ 後接 forums。
https://dcard.tw/_api/forums
某個看板(話題)的最新文章
forums/ 後接看板的alias/posts,看板的 alias 可由剛剛取得看板(話題)清單的 API 取得。
https://www.dcard.tw/_api/forums/看板的alias/posts
範例
- 電影版最新文章的 JSON 資料
取得電影版的最新文章。
https://www.dcard.tw/_api/forums/movie/posts
某個看板(話題)的熱門文章,分頁,數量
前面提到的指定文章數量,文章分頁,熱門文章都可以作用在某個看板(話題)上,只要將網址改成以下網址開頭。
https://www.dcard.tw/_api/forums/看板的alias/
範例
https://www.dcard.tw/_api/forums/movie/posts?popular=true