將 X(Twitter)連接到 Social Quack
在 X 的後台裡建一個屬於自己的應用程式,儲值幾美元,貼文就會準時發出 —— 金鑰加密保存在您自己的 Mac 上。
X 是 Social Quack 裡唯一一個發文要花錢的平台。除此之外一切都很單純:您建立一個屬於自己的小型開發者應用程式,把兩把金鑰貼進 Social Quack,再到 X 自己的頁面上核准連接。只做這一次 —— X 這種連接永不過期,所以不必每隔幾週重連一回。
因為這個應用程式是您的,金鑰會加密留在您自己的電腦上,發文額度也完全屬於您。您不會和任何人的帳號共用一池配額,所以別人的行為不可能害您被限流。
1. 要花多少錢
X 已經沒有免費的發文方案了。舊的 Free (Standard Basic) 存取權已被淘汰 —— 還停在那裡的應用程式每次嘗試發文都會被拒。要透過 X 的 API 發文,您需要一個採 Pay Per Use 方案並儲了值的開發者帳號。發一則的費用是幾美分。
一開始儲值 $5–10 就綽綽有餘。這只適用於 X;Bluesky、Mastodon 和 Social Quack 裡的其他平台都是免費的。
2. 先在 Social Quack 打開 X 卡片
從應用程式開始,這樣等一下要複製的值早就在螢幕上了:
側邊欄的 Channels(頻道) → X (Twitter) 卡片 → Set up app keys(設定應用程式金鑰)。
(工作區一旦存過金鑰,這個按鈕就會變成 Edit app keys(編輯應用程式金鑰) —— 打開的是同一個面板。)
那個面板裡有兩個您最後要填的欄位,上方還有 X 稱之為 Callback URI 的重新導向網址,旁邊附複製按鈕。它包含這一份 Social Quack 正在使用的通訊埠,所以請用複製按鈕取得,別自己打 —— 只要差一個字元,X 就會拒絕。請讓那個視窗開著。
3. 建立 Pay Per Use 專案並儲值
- 前往 https://console.x.com 並打開 Projects。您需要一個採 Pay Per Use 方案的專案。如果您手上只有舊的 Free (Standard Basic) 專案,那已經不能用了 —— 請改用 Pay Per Use 的那個,或建一個。
- Billing → Credits:儲值 $5–10。
4. 建立應用程式
在那個 Pay Per Use 專案裡:Apps → Create App。
已經有一個應用程式放在舊專案裡?您也可以把它搬過來,走 Project Access → Manage。
5. 設定權限和回呼網址
打開應用程式 → Settings,在 Authentication settings 區塊裡:
| 設定 | 該填什麼 |
|---|---|
| Permissions | Read and write |
| Type of App | Web App |
| Callback URI | Social Quack 在 Set up app keys 畫面上顯示的重新導向網址 —— 用它的複製按鈕,原封不動貼上 |
| Website | 任何網址皆可 |
儲存。這件事要在下一步之前做完:在權限變更前產生的金鑰會沿用舊的等級,那麼您在 X 核准之後連接就會失敗。
6. 複製 API Key 和 Secret
應用程式 → Keys & Tokens → OAuth 1.0 Keys → 對 Consumer Key 按 Regenerate,然後把它顯示的兩個值複製下來:
- API Key (Consumer Key)
- API Key Secret (Consumer Secret)
密鑰只會顯示一次。如果您沒複製就關掉頁面,再重新產生一次即可 —— 而且每次變更應用程式權限之後都要重新產生。
重新產生會讓舊的那一組在所有地方失效:X 用這組金鑰簽署您的每一則貼文,所以一旦重新產生,舊的就死了。如果您把它們貼進了不只一個工作區,請打開每個工作區的 Set up app keys 面板,把新的那一組也貼上去 —— 儲存時會再次打開 X 的授權頁面,核准之後該帳號就會就地重新連上,佇列裡的一切都保留。留在舊金鑰上的工作區會發不出貼文。
7. 貼上並連接
回到 Social Quack 的同一個 Set up app keys 面板:把它們貼進 API Key (Consumer Key) 和 API Key Secret (Consumer Secret),然後點 Save(儲存)。沒有別的按鈕要按 —— 存下金鑰就會立刻在瀏覽器裡打開 X 的授權頁面。請用您要發文的那個帳號核准。接著瀏覽器會停在一個 Connected!(已連接!)頁面,請您關掉分頁回到 Social Quack。照做就好:帳號早就在 Channels 頁面上等著了。
金鑰存好之後,X 卡片上的 Connect(連接)按鈕自己就能發起同一段授權流程 —— 改天要加第二個帳號、或要重新連接某個帳號時,用的就是它。
同一個應用程式可以連好幾個帳號:若您分品牌經營,每個工作區一個。每個工作區都保有自己那份金鑰,所以請在側邊欄切換工作區,把同樣的兩個值貼進該工作區的 Set up app keys 面板 —— 在那裡儲存同樣會打開該工作區的授權頁面。X 裡一個應用程式就夠用了。
8. 您可以發什麼到 X
| 貼文長度 | 280 個字元 |
| 串文 | 可以 —— 每一段都以回覆前一段的形式發出 |
| 圖片 | 最多 4 張,放在串文的第一則上,可帶替代文字 |
| 影片 | 可以 |
超過 X 接受尺寸、或格式它不收的照片,會在送出前自動替您調整大小和轉檔 —— 您完全不必事先處理。
如果出了狀況
| 您看到的訊息 | 代表什麼 | 該怎麼辦 |
|---|---|---|
貼文失敗,出現 403 和 client-not-enrolled |
應用程式不在 Pay Per Use 專案裡 —— 舊的免費存取權已經不能用了 | 在 Pay Per Use 專案裡建立應用程式,或用 Project Access → Manage 把它搬過去 |
| 在 X 核准之後,出現 Connection failed(連接失敗)頁面並顯示 X token exchange failed | 通常是金鑰在您變更應用程式權限之前就產生了,所以還帶著舊的等級。也可能是別的應用程式的金鑰,或複製時密鑰被截斷了 | Keys & Tokens → OAuth 1.0 Keys → Regenerate,把兩個值重新複製一次,把新的一組貼進 Set up app keys 再點 Save —— 授權頁面會再度打開 |
| 同一個 Connection failed 頁面顯示 X users/me failed | 應用程式沒有掛在具備 API 存取權的專案底下 | 確認這個應用程式真的在您的 Pay Per Use 專案裡 |
| X API Key / Secret not configured | 該工作區沒有存金鑰 —— 每個工作區各有自己的一份 | 在側邊欄切到該工作區,再走 Channels → X → Set up app keys,兩個都貼上並點 Save |
| 重新產生金鑰之後,某個 X 帳號開始發不出去(X rejected the post,401) | 新的一組只進了您當時所在的工作區;其他工作區手上還是舊的、已經失效的金鑰 | 到其他每一個工作區:Set up app keys,貼上新的一組,Save,再到 X 核准一次。帳號會就地重新連上,佇列裡的貼文都會保留 —— 千萬不要移除頻道,那會把它的貼文一併刪掉 |
| X 的授權頁面顯示錯誤、Social Quack 顯示錯誤而沒有打開它,或您停在一個標著 Connection failed 的頁面 | 通常是 X 裡的 Callback URI 和 Social Quack 顯示的那個不一致 | 從 Set up app keys 面板重新複製重新導向網址,貼進應用程式 → Settings → Callback URI 並儲存,然後在 Social Quack 的 X 卡片上點 Connect |
| 瀏覽器停在 Connected! 頁面,沒有帶您回去 | 沒出問題 —— Social Quack 是在您平常的瀏覽器裡打開 X,而瀏覽器沒辦法跳回應用程式 | 關掉分頁切回 Social Quack;帳號已經在 Channels 頁面上了 |
| 用了一陣子之後貼文開始失敗,您這邊什麼都沒改 | 您的餘額用完了 —— 每則貼文都要幾美分 | Billing → Credits,儲值 |
| 貼文失敗,出現 429 或 500 開頭的錯誤 | X 正在對您限流,或它自己狀況不好 | 什麼都不用做 —— Social Quack 會視為暫時性狀況,自己再試一次 |
| 您把 API Key Secret 弄丟了 | 它只會顯示那麼一次 | 對 Consumer Key 按 Regenerate,把新的一組貼進 Set up app keys 再點 Save —— 每一個用到 X 的工作區都要做,因為舊的那一組在所有地方都失效了 |
還是卡住?[email protected]。