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