/ Orova Social
連接 WordPress 網站 用應用程式密碼。
在 WordPress 裡建立一組應用程式密碼,貼到 Orova,Orova 就能把內容發布到你的網站。
要讓 Orova Social 發布到你的 WordPress 網站,Orova 需要一種登入方式。正確的做法是使用應用程式密碼——WordPress 單獨發給某一個應用程式的密碼。你在 WordPress 裡建立它,貼到 Orova 一次,隨時可以撤銷。本頁把每一步都走一遍,並列出最常見的錯誤訊息。
/ 總覽
什麼是應用程式密碼
應用程式密碼是 WordPress 發給某一個外部應用程式的密碼。它不會取代你的登入密碼:它只能用於 REST API,無法登入後台。你可以建立任意多組,每組取一個名字,並逐一撤銷。
- 不要用登入密碼. 登入密碼能打開整個後台,而且通常還有兩步驗證,所以 WordPress 不接受拿它用在 REST API 上。應用程式密碼正是為這件事準備的。
- 需要 WordPress 5.6 以上並啟用 HTTPS. 這個功能從 WordPress 5.6 起就內建,不必裝外掛。只有網站透過
https://連線時,WordPress 才會顯示應用程式密碼這一區。 - 帳號要有發布權限. 請使用 Author、Editor 或 Administrator 角色的帳號。Subscriber 和 Contributor 不能發布文章,用它們連接的頻道同樣發不出去。
/ 在 WordPress 中
在 WordPress 中建立
五個步驟,都在你自己的 WordPress 後台完成:
- 1
用將來發布文章的那個帳號登入. 應用程式密碼屬於某一個使用者。Orova 發布的文章會掛這個帳號的名字。
- 2
打開 使用者 → 個人資料. 在左側選單選 Users(使用者)→ Profile(個人資料)。如果你是管理員、要替別人建立,請進入 使用者 → 所有使用者,再按下那個帳號。
- 3
往下找到「Application Passwords」. 它在個人資料頁面偏下的位置。如果沒有這一區,表示網站的 WordPress 低於 5.6、沒有啟用 HTTPS,或者被資安外掛關掉了。
- 4
取個名字,按 Add New Application Password. 填一個你以後認得出來的名字,例如
Orova。這個名字只是方便你日後撤銷時分辨。 - 5
立刻複製那串 24 個字元. WordPress 會顯示一串 24 個字元、分成六組、中間有空格。這一串只顯示一次——關掉頁面就再也看不到,只能重新建立。連空格一起貼上也沒問題。
WordPress 的介面大致長這樣,要複製的就是那行密碼:
Users -> Profile -> Application Passwords
New Application Password Name: Orova
[ Add New Application Password ]
Your new password for Orova is:
abcd EFGH 1234 ijkl MNOP 5678 <- 24 characters, shown ONCE/ 在 Orova 中
貼到 Orova
打開 Social → 專案 → 選擇專案 → 頻道 分頁,找到 Website 那一列。它有三個輸入欄位和一個按鈕。
- 1
網站網址. 貼上網站的根網址,以
https://開頭,例如https://yoursite.com,不要填後台網址。如果不小心帶上了/wp-json,Orova 會自動去掉。 - 2
Username. 這是 WordPress 的登入帳號,就是個人資料裡 Username 那一欄的內容——不是顯示名稱,也不是電子郵件。
- 3
Application password. 貼上剛才複製的那串 24 個字元。帶空格也可以。
- 4
按下 Save channel. Orova 會當場呼叫你的 WordPress 做一次檢核。通過之後,頻道就出現在清單裡,並顯示網站網址和登入帳號;頻道名稱和頭像取自 WordPress 的個人資料。
/ 檢核
儲存時 Orova 會檢核什麼
Orova 不會盲目儲存。按下 Save channel 時,它會用你填的資料真的呼叫一次 WordPress REST API:
GET https://yoursite.com/wp-json/wp/v2/users/me?context=edit
Headers:
Authorization: Basic <base64 of "username:application password">
Accept: application/json
What Orova does with the reply:
200 + JSON profile -> channel saved (name and avatar come from
the WordPress profile)
401 / 403 -> wp_auth (WordPress rejected the login)
404 / not JSON -> wp_url (wrong address, REST API off,
or "Plain" permalinks)
no reply in 10 s -> wp_url (timeout)只有 WordPress 回傳 200 並帶上使用者資料,頻道才會被儲存。Orova 最多等 10 秒。頻道會保存網站網址、登入帳號和應用程式密碼,供以後發布使用;介面只會回顯網址和登入帳號,絕不回顯密碼。
/ 排查
常見錯誤訊息
儲存失敗時,Orova 會給出兩種代碼之一:wp_url(連不上你的網站)或 wp_auth(WordPress 拒絕登入)。下表是每種代碼常見的原因。
| 代碼 | 原因 | 處理辦法 |
|---|---|---|
| wp_url | 網址不是 https、缺少網域,或者中間有空格。 | 照 https://yoursite.com 的格式重新填寫。網站還沒有 HTTPS 就先裝憑證——WordPress 在 http 之下也不會建立應用程式密碼。 |
| wp_url | 固定網址設成了「Plain」,導致 /wp-json 回傳 404。 | 進入 設定 → 固定網址,選「文章名稱」,按下儲存變更。其他都不必動。 |
| wp_url | 資安外掛或某段程式碼關掉了 REST API——網站回傳的是 HTML 而不是 JSON。 | 用瀏覽器打開 https://yoursite.com/wp-json。如果回傳的不是 JSON,就先停用資安外掛,或者替已登入使用者重新開放 REST API。 |
| wp_auth | 登入帳號填錯,或者密碼貼上時少了幾個字元。 | 重新建立一組應用程式密碼並再複製一次。確認 Username 填的是登入帳號,而不是顯示名稱或電子郵件。 |
| wp_auth | 應用程式密碼已被撤銷,或者帳號被停用。 | 進入 使用者 → 個人資料 建立新的應用程式密碼,然後在 Orova 裡重新儲存頻道。 |
| wp_auth | 資安外掛擋掉了應用程式密碼。 | 在資安外掛的設定裡,替這個帳號重新允許應用程式密碼。有些外掛把這個開關叫做「REST API authentication」。 |
| wp_auth | 伺服器在轉給 PHP 之前拿掉了 Authorization 標頭,WordPress 因此看不到登入資訊。 | 把下面兩行加到 WordPress 根目錄的 .htaccess 檔案裡。使用 Nginx 的話,請主機商代為轉送 Authorization 標頭。 |
要加的內容——放在 # BEGIN WordPress 之前:
# .htaccess in the WordPress root, above "# BEGIN WordPress"
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]/ 安全
安全
- 每個服務一組密碼. 不要把同一組應用程式密碼用在多個工具上。替每組密碼取清楚的名字,撤銷其中一組也不影響其他。
- 隨時可以撤銷. 進入 使用者 → 個人資料 → Application Passwords,按下 Revoke。此後 Orova 立刻無法發布並報
wp_auth;想重新連接就建立新密碼,再儲存一次頻道。 - 可以替 Orova 另開一個帳號. 一個 Author 或 Editor 角色的 WordPress 使用者就足夠發布文章,不必給管理員權限。
- Orova 不會再顯示密碼. 儲存之後,頻道介面只顯示網站網址和登入帳號。中斷頻道時,Orova 會刪除已儲存的應用程式密碼。
/ 小結
連接一次就夠了
Website 頻道連好之後,它就像其他頻道一樣留在這個專案裡,你在 Orova Social 寫內容時選它即可。以後換密碼或換帳號,只要重新填這三個欄位再按 Save channel——Orova 會覆蓋原本的頻道,不會產生重複項目。
