在本文中,我們將繼續使用 Postman 探索 Disqus REST API。這次的重點是了解如何使用需要用戶驗證的 API POST 服務,例如創建、更新和刪除討論串。接下來的練習將需要 Disqus API 的 Access Token(存取憑證)。如果您不知道如何使用 OAuth 2.0 獲取存取憑證,請返回閱讀 Disqus REST API 案例研究(2)。
練習 1- 創建一個新的 Disqus 討論串
說明文件:https://disqus.com/api/docs/threads/create/
threads/create
端點是用來添加新的討論串至指定的討論區。一般情況之下,若您的網站安裝了 Disqus 的代碼或插件,一旦 Disqus 檢測到新的帖文,就會自動創建一個討論串。那麼,在哪兒用得上?
我認為您可以利用它將網站的留言遷移到 Disqus。您也可以使用它來建立離站的討論區,以利於從某個討論的主線中分離子題目。訪問 threads/create
端點的設置如下:
方法 | POST |
網址 | https://disqus.com/api/3.0/threads/create.json |
授權 | OAuth 2.0 (Request Headers) 請參閱 Disqus REST API 案例研究 (2) |
api_key | {{api_key}} 存儲在您作業環境中的公鑰 |
forum | Disqus 留言板的短名稱 |
title | 描述新 Disqus 討論串的名稱 |
執行前,請確認選擇的作業環境,以保證呼叫正確的環境變數。該 API 請求應如以下截圖所示:
回應
{
"code": 0,
"response": {
"feed": "https://craftweeks.disqus.com/hello_world/latest.rss",
"clean_title": "Hello World",
"dislikes": 0,
"likes": 0,
"message": null,
"ratingsEnabled": false,
"isSpam": false,
"isDeleted": false,
"category": "7486595",
"adsDisabled": false,
"author": "243188002",
"media": [],
"userScore": 0,
"id": "8223786231",
"signedLink": "https://disqus.com/home/discussion/craftweeks/hello_world/",
"createdAt": "2020-10-02T06:46:21",
"hasStreaming": false,
"raw_message": null,
"isClosed": false,
"link": "https://disqus.com/home/discussion/craftweeks/hello_world/",
"slug": "hello_world",
"forum": "craftweeks",
"identifiers": [],
"posts": 0,
"userSubscription": false,
"validateAllPosts": false,
"title": "Hello World",
"highlightedPost": null
}
}
在 JSON 格式的 API 回應中,找出並記下回傳的討論串 id。接下來,在更新和刪除討論串的時候會使用到它。在瀏覽器中打開於回應中 link 項的網址,確認新建的 Disqus 討論串。您應該到訪一個如以下截圖所示的 Disqus 網頁。
[ 返回目錄 ]
練習 2- 更新 Disqus 討論串的資料數據
說明文件:https://disqus.com/api/docs/threads/update/
threads/update 端點是 Disqus Help Desk 上建議的討論串網址更新方法之一。它也可以用來更改出現在 Disqus 推薦中的帖子標題。
例如,我們想要更改在練習 1 中創建的討論串之標題和連結。按照以下表格前五行中設置 Request,然後附加最後三行選項,以把新標題和新網頁地址分配給指定的討論串。
方法 | POST |
網址 | https://disqus.com/api/3.0/threads/update.json |
授權 | OAuth 2.0 (Request Headers) 請參閱 Disqus REST API 案例研究 (2) |
api_key | {{api_key}} 存儲在您作業環境中的公鑰 |
thread | Disqus 討論串 ID |
title 選項 | 例如: Hello World!! 最長 200 個字符 |
url 選項 | 例如: https://disqus.com/home/discussion/craftweeks/hello_world-2/ 網頁地址 (RFC 3986 定義, 最長 500 個字符) |
slug 選項 | 例如: hello_world-2 字母數字符號 (最長 200 個字符) |
提示:要查詢討論串,亦必須知道其 ID 號碼。如果您不小心忘記了,請嘗試使用 Disqus REST API 案例研究(1) –– 文中所述的方法索取 ID 的值。
執行前,請確認選擇的作業環境,以保證呼叫正確的環境變數。該 API 請求應如以下截圖所示:
回應
{
"code": 0,
"response": {
"feed": "https://craftweeks.disqus.com/hello_world-2/latest.rss",
"clean_title": "Hello World!!",
"dislikes": 0,
"likes": 0,
"message": null,
"ratingsEnabled": false,
"isSpam": false,
"isDeleted": false,
"category": "7486595",
"adsDisabled": false,
"author": "243188002",
"media": [],
"userScore": 0,
"id": "8223786231",
"signedLink": "https://disqus.com/home/discussion/craftweeks/hello_world-2/",
"createdAt": "2020-10-02T06:46:21",
"hasStreaming": false,
"raw_message": null,
"isClosed": false,
"link": "https://disqus.com/home/discussion/craftweeks/hello_world-2/",
"slug": "hello_world-2",
"forum": "craftweeks",
"identifiers": [],
"posts": 0,
"userSubscription": false,
"validateAllPosts": false,
"title": "Hello World!!",
"highlightedPost": null
}
}
等一會兒,然後在瀏覽器中重新加載頁面。Disqus 將表示原來頁面不存在。在網址欄中輸入新 URL,您應該到訪已更新標題的討論頁面。
[ 返回目錄 ]
練習 3 – 刪除一個 Disqus 討論串
說明文件:https://disqus.com/api/docs/threads/remove/
探索完上述 API 服務之後,您可能希望刪除測試用的討論串。您可以使用以下的參數,訪問 threads/remove
端點:
方法 | POST |
網址 | https://disqus.com/api/3.0/threads/remove.json |
授權 | OAuth 2.0 (Request Headers) 請參閱 Disqus REST API 案例研究 (2) |
api_key | {{api_key}} 存儲在您作業環境中的公鑰 |
thread | Disqus 討論串 ID |
執行前,請確認選擇的作業環境,以保證呼叫正確的環境變數。該 API 請求應如以下截圖所示:
回應
{
"code": 0,
"response": [
{
"id": "8223786231"
}
]
}
稍等片刻後,在瀏覽器中重新加載網頁。Disqus 將表示該頁面不再存在。
[ 返回目錄 ]
使用線上討論編輯器檢查結果
討論編輯器(Discussions Editor)使您可以一鍵更新網站上任何討論串的屬性。例如,當您更新了您的網站之後,您可以更新與之相關的討論之標題或連結。
哪些屬性可以更新?
目前,可以進行更新的討論屬性,包含:
- 標題:公開顯示。
- 連結:公開顯示。
- 作者:非公開顯示。適用於當您希望將並非您 Disqus 討論區板主的用戶,作為討論的作者時進行更新。 這樣,他們就可以通過 Disqus 通知電郵和留言板,對該討論的留言內容進行審批。
- 類別:非公開顯示。類別主要用於在 Disqus API 過濾結果。了解有關類別的更多信息。
- 開/關狀態:打開或關閉對新評論的討論。
如果您喜歡這篇文章,請分享到您的 Facebook 和 Twitter。您也可以通過 Ko-fi 捐款支持本站。