社群抽獎工具

貼上名單,或匯入 YouTube、Facebook Page、Instagram、Threads 的已授權互動,再用可重現 seed 公平抽獎。

手動名單、raw OAuth code/token 與匯入名單快照只作為瀏覽器暫態;provider 呼叫時會把下列必要欄位送到 GoGo 後端,但後端不持久保存 raw code、token 或匯入快照。後端另存下述假名識別 OAuth metadata。

每個 request 都含 locale。YouTube:videoUrlOrId、maxComments、可選 keyword、locale。Facebook:auth URL 的 locale;Pages 的 authCode、locale;貼文的 pageId、postUrlOrId、accessToken、includeReactions、locale。Instagram:auth URL 的 locale;授權資料的 authCode 或 accessToken、locale;留言的 mediaId、accessToken、maxComments、locale。Threads:auth URL 的 locale;profile 的 authCode 或 accessToken、locale;回覆的 mediaId、accessToken、maxReplies、locale。Raw code/token 與匯入快照只作為瀏覽器暫態且不由後端持久保存;後端另存下述 OAuth metadata。

OAuth 開始時,後端另存假名識別的 HMAC nonce digest 文件鍵、provider、createdAt、expiresAt;不保存 raw code、token、state 或 nonce。記錄在 10 分鐘後不可使用並進入 Firestore TTL 非同步刪除,不保證第 10 分鐘實體刪除。

  • 每次匯入 1 到 500 筆
  • 每個獎項的得獎與備取各為 0 到 100 人,總數不得超過有效參與者。
  • Seed 必須為 1 到 128 字元。
  • 獎項名稱最多 100 字元。
主要獎項
有效參與者 3重複 0排除 0

使用說明

手動名單留在瀏覽器;也可匯入可取得的 YouTube 留言,或已授權 Facebook Page、Instagram、Threads 帳號可存取的互動。

舉辦 Facebook、Instagram、LINE 或社群活動抽獎時,最怕落榜者質疑「黑箱不公」嗎?這款抽獎工具採用加密級真隨機演算法,保證每位參加者中獎機率完全公平均等,還能一鍵過濾重複名單!

💡 3 步驟快速上手

① 貼上抽獎名單

將留言名單或參加者帳號一筆一行貼入輸入框中。

② 設定抽出人數與過濾條件

設定要抽出幾位幸運得獎者,並勾選是否自動移除重複帳號。

③ 點擊開獎並即時存證

點擊「開獎」按鈕即可開出名單,建議開獎時搭配螢幕錄影,透明公開公信力滿分!

適用情境

分開管理手動名單與各平台匯入結果,支援去重、排除、固定亂數種子、得獎與備取及 CSV。

計算或處理方式

手動每行一人;YouTube 留言由後端使用已設定的 YouTube API 金鑰取得,Facebook Page、Instagram、Threads 則使用授權帳號可存取的內容。每次只抽目前分頁最新成功快照,再依亂數種子產生可重現順序。

具體範例

範例:匯入最多 500 筆 YouTube 留言,設定 1 位得獎、1 位備取與不超過 128 字元的亂數種子,再下載 CSV。

限制與資料處理

YouTube 留言由後端使用已設定的 YouTube API 金鑰取得;Facebook Page、Instagram、Threads 只支援授權帳號可存取的內容。未設定、未授權、逾時或回傳格式錯誤時會顯示安全錯誤,不會顯示服務提供者的原始訊息,也不保證任意公開貼文都能匯入。 平台匯入的瀏覽器請求最多等待 20 秒;後端對同一來源在 60 秒內最多接受 12 次社群匯入/授權請求。後端不快取成功匯入的名單,只保留為目前瀏覽器的最新成功快照;失敗不會建立新的快照。

每個 request 都含 locale。YouTube 留言匯入送 videoUrlOrId、maxComments、可選 keyword、locale。Facebook auth URL 送 locale;載入 Pages 送 authCode、locale;貼文匯入送 pageId、postUrlOrId、accessToken、includeReactions、locale。Instagram auth URL 送 locale;載入授權資料送 authCode 或 accessToken 與 locale;留言匯入送 mediaId、accessToken、maxComments、locale。Threads auth URL 送 locale;載入 profile 送 authCode 或 accessToken 與 locale;回覆匯入送 mediaId、accessToken、maxReplies、locale。手動名單不送出。 後端另存假名識別的 HMAC nonce digest 文件鍵、provider、createdAt、expiresAt,不保存 raw code、token、state 或 nonce。記錄在 10 分鐘後不可使用並進入 Firestore TTL 非同步刪除,不保證第 10 分鐘實體刪除。

密碼學偽隨機數、抽獎演算法公平性驗證與防刷手冊

一、CSPRNG 加密級真隨機數抽獎演算法原理

在 Instagram、Facebook、YouTube 或社群抽獎活動中,「公平性(Fairness)」是建立品牌公信力最重要的核心。許多簡易抽獎工具使用 JavaScript 預設的 `Math.random()`,其底層是確定性的偽隨機數,且容易受時間戳種子(Seed)影響而出現局部偏差。

本工具全面採用現代密碼學標準的 `crypto.getRandomValues()`(CSPRNG, 加密安全偽隨機數產生器),直接調用作業系統硬體雜訊作為真隨機熵源,並搭配經典的「費雪-耶茨洗牌演算法(Fisher-Yates Shuffle)」,確保清單中的每一個項目被抽中的機率皆維持 100% 絕對均等(Uniform Probability Distribution)。

二、防刷重複、過濾空帳號與權重抽獎機制

舉辦社群行銷抽獎時,常面臨「一人重複留言數百次」或「機器人假帳號刷留言」的困擾。本工具支援自動去除重複使用者、自訂留言篩選條件與關鍵字比對,並可針對特定優質互動者設定權重加籤,兼顧活動公平性與行銷互動效益。

三、可驗證公平性(Provable Fairness)錄影存證心法

為避免落榜者質疑黑箱作業,舉辦抽獎時建議全程螢幕錄影,並在開獎前公布總抽獎名單的 MD5 / SHA-256 雜湊值(Hash)。開獎後公布中獎者隨機序號與驗證碼,建立透明、無可質疑的品牌誠信形象。

權威資料來源與參考規範

  • W3C:Web Cryptography API CSPRNG Specification
  • ACM (Association for Computing Machinery):Fisher-Yates Shuffle Analysis
  • 公平交易委員會:贈品贈獎促銷活動公平性規範

常見問題

社群抽獎工具:可輸入多少人與獎項設定?

每次平台匯入須為 1 到 500 筆;每個獎項的得獎與備取各為 0 到 100 人,總人數不得超過有效參與者。亂數種子為 1 到 128 字元,獎項名稱最多 100 字元。

社群抽獎工具:手動與 API 名單怎麼抽?

手動名單每行一人並留在瀏覽器。API 只抽目前來源分頁最後一次成功匯入的快照;更換來源、重匯或失敗時不沿用其他平台名單。 Raw OAuth code/token 與匯入名單快照只作為瀏覽器暫態;後端不持久保存這些值。

社群抽獎工具:哪些平台內容可以匯入?

YouTube 留言由後端使用已設定的 YouTube API 金鑰取得;Facebook Page、Instagram、Threads 只支援授權帳號可存取的內容。未設定、未授權、逾時或回傳格式錯誤時會顯示安全錯誤,不會顯示服務提供者的原始訊息,也不保證任意公開貼文都能匯入。 平台匯入的瀏覽器請求最多等待 20 秒;後端對同一來源在 60 秒內最多接受 12 次社群匯入/授權請求。後端不快取成功匯入的名單,只保留為目前瀏覽器的最新成功快照;失敗不會建立新的快照。

社群抽獎工具:API request 會送出哪些資料?

每個 request 都含 locale。YouTube 留言匯入送 videoUrlOrId、maxComments、可選 keyword、locale。Facebook auth URL 送 locale;載入 Pages 送 authCode、locale;貼文匯入送 pageId、postUrlOrId、accessToken、includeReactions、locale。Instagram auth URL 送 locale;載入授權資料送 authCode 或 accessToken 與 locale;留言匯入送 mediaId、accessToken、maxComments、locale。Threads auth URL 送 locale;載入 profile 送 authCode 或 accessToken 與 locale;回覆匯入送 mediaId、accessToken、maxReplies、locale。手動名單不送出。 後端另存假名識別的 HMAC nonce digest 文件鍵、provider、createdAt、expiresAt,不保存 raw code、token、state 或 nonce。記錄在 10 分鐘後不可使用並進入 Firestore TTL 非同步刪除,不保證第 10 分鐘實體刪除。