用Python打造FB抽獎機,將回覆留言也列入參抽獎單

動機

最近在臉書上參加活動需要朋友們按讚
我就辦了個抽獎讓大家參與
搜尋一下線上工具
搜尋結果前幾個似乎都無法免費支援個人頁面的抽獎

影片教學

剛好之前看到Pycone 松果城市有相關的教學影片
看上去不會太複雜,就照著實作一次了

前就如影片所示

  1. 取得 Post 的 ID
  2. Facebook Graph API
  3. 取得 Token (存取權杖)
  4. 拿到資料

不過做到中間發現
FaceBook_API_JSON

  1. 這個教學也是做給粉絲團使用的
  2. 我希望讓留言中回覆的人也加入名單

所以需要修改一下


取得留言的回覆

由於 Facebook 的巢狀留言結構
每個留言也都有各自獨立的 ID
要一一抓取有點麻煩
這邊直接在語法的地方使用

filter=stream

讓它變成資料流,就會全部展開來了

另外如果留言數太多的話
還要加上 limit
否則有些會顯示不出來
想要全部顯,就給一個超過總留言數的數量即可

limit=1000

最後的語法為

<Your_Post_ID>/comments?filter=stream&limit=1000

最後取得資料後再利用 SET 去除重複名單,亂數排序後印出
就可以完成了

完整的程式碼
短短幾行就可以完成了