方法一 常規(guī)配置接入
這種方法可以適用于內(nèi)容管家對接自己開發(fā)的系統(tǒng)或者其他內(nèi)容管家未適配的系統(tǒng),不需要代碼開發(fā)??梢越尤胪ㄟ^cookie認證登錄、header認證登錄等方式登錄的系統(tǒng)。
這個方法對于只能一個賬號在線或者是session認證登錄的站點不適用。
接入過程中需要準備工作:
打開Chrome(谷歌)瀏覽器
后臺登錄地址,以及登錄賬號,登錄密碼
登錄后臺
發(fā)布一篇文章,并找到發(fā)布文章的提交地址
第一步,使用谷歌瀏覽器登錄網(wǎng)站后臺
打開谷歌瀏覽器,按F12,打開開發(fā)者模式,并切換到Network(網(wǎng)絡)標簽,如圖所示:
輸入賬號密碼等信息,并勾選保持會話(保持登錄)!!重要,一定要勾選保持會話,登錄到后臺,找到發(fā)布文章的界面,嘗試發(fā)布一篇文章,在點擊確認提交發(fā)布前,先清理下開發(fā)者記錄頁面,減少翻閱麻煩,如圖所示:
接著就點擊確認提交發(fā)布按鈕,發(fā)布一篇文章出去。這時候,在Network(網(wǎng)絡)標簽上,就有了文章發(fā)布提交地址了。如圖所示:
點擊這個地址,右邊會彈出提交的詳細信息,包含了地址,headers信息,這個時候,我們通過這里可以獲取的信息有:
Request URL (發(fā)布地址)
Request Headers (請求頭信息)
Payload (Form Data 提交的數(shù)據(jù))
Preview (返回的數(shù)據(jù))
第二步,添加自定義站點
這些數(shù)據(jù)需要填寫到接口地址上。來到內(nèi)容管家綁定站點界面,選擇自定義網(wǎng)站:
在出現(xiàn)的界面上,逐個填寫信息:
網(wǎng)站名稱,填寫你的網(wǎng)站名稱
文章發(fā)布地址,填寫上面找到的發(fā)布地址
文章提交方式,默認選FormData就可以
headers,復制請求頭信息到這里粘貼,然后鼠標在輸入框外點擊一次,讓它自動解析。
cookies,按上一步headers操作,cookies已經(jīng)自動準備好了。
文章其他字段,可能需要填寫,比如指定文章status狀態(tài),發(fā)布時間等,從提交的數(shù)據(jù)中復制過來
** 注意,這里不是每一個字段都需要選擇的,我們只需要復制其中的 status和inputtime就可以了。這里有幾個特殊的代替詞,可以動態(tài)根據(jù)實際情況生成,如:{py}
指當前文章標題的首字母,{pinyin}
指當前文章標題的拼音,{timestamp}
指發(fā)布文章時候的時間戳,格式1631234543,{datetime}
指發(fā)布文章時候的時日期時間,格式2006-01-02 15:04:05,{date}
指發(fā)布文章時候的日期,格式2006-01-02。如:modelField[inputtime]: {datetime}
文章欄目字段,通過提交的數(shù)據(jù)分辨,一般是
cat_id
,category_id
,catid
等等,演示中的是:modelField[catid]
。文章標題字段,通過提交的數(shù)據(jù)分辨,一般是
title
,tit
,name
等等,演示中的是:modelField[title]
。文章內(nèi)容字段,通過提交的數(shù)據(jù)分辨,一般是
content
,message
,body
等等,演示中的是:modelFieldExt[content]
。發(fā)布成功標記,在返回的數(shù)據(jù)里找,只需要填寫里面的固定關鍵詞就行了,如:
操作成功
,演示中的我們可以選操作成功
。
至此,填寫部分已完成,填寫完成的配置界面如圖:
點擊繼續(xù)完善進入下一步操作。
第三步,添加欄目
到你的站點后臺,找到欄目列表,并將可能需要用到發(fā)布文章的欄目,將欄目ID,欄目名稱填寫到內(nèi)容管家中來。
僅需要填寫需要的欄目就行,如演示中,我們只添加 9,噴霧干燥機原理
、10,噴霧干燥機技術(shù)
兩個分類。
添加完成后的內(nèi)容管家配置頁面如圖:
至此,已經(jīng)配置完成了,點擊繼續(xù)完善,進行下一步操作
測試發(fā)布
點擊測試發(fā)布按鈕,看看是否發(fā)布成功。
方法二 開發(fā)接口對接接入:
這種方法適用于內(nèi)容管家對接自己開發(fā)的系統(tǒng)的時候使用,需要具備一定的代碼開發(fā)水平。
如果你有能力開發(fā)接口對接內(nèi)容管家,只需要準備發(fā)布接口即可。
內(nèi)容管家配置自定義站點的時候,會有一個token字段,請記錄它,并保存到你的接口文件中。
推送發(fā)布文章的時候,會在 post 表單中,攜帶2個字段: auth_time
和 auth_token
, 你可以通過驗證 auth_token
的正確性來判斷是否來自內(nèi)容管家的提交發(fā)布。 auth_token
的值通過 md5(auth_time + token) 生成,因此你需要將 表單的auth_time
+ 配置的 token
來MD5 并將結(jié)果與 auth_token
對比來確定正確性。
最簡單的一個接口示例:
<?php$post = $_POST;// 這個token來自于內(nèi)容管家配置頁面$token = "xKFhFpLzJah4dA6RnVS6LsFo4QRymnN2";$auth_token = md5($post['auth_time'] . $token);if ($post['auth_token'] != $auth_token) { die('TOKEN錯誤');}// 請將 "數(shù)據(jù)庫地址", "用戶名", "密碼", "數(shù)據(jù)庫名稱" 替換為真實的數(shù)據(jù)$db = new mysqli("數(shù)據(jù)庫地址", "用戶名", "密碼", "數(shù)據(jù)庫名稱");if (mysqli_connect_error()) { die("無法連接數(shù)據(jù)庫");}$categoryId = $post['category_id'];$title = $post['title'];$content = $post['content'];$time = time();$sql = "INSERT INTO `articles` (`category_id`,`title`,`content`,`add_time`) VALUES('$categoryId','$title','$content',$time)";$res = $db->query($sql);$db->close();if($res){ $res = "發(fā)布成功";}else{ $res = "發(fā)布失敗";}echo $res;