優(yōu)采云POST發(fā)布接口開(kāi)發(fā)文檔
優(yōu)采云 發(fā)布時(shí)間: 2023-08-30 16:31目前,優(yōu)采云已支持數十款建站系統和自媒體平臺的自動(dòng)發(fā)布,但市面上的建站源碼眾多,且許多公司的網(wǎng)站都是自主開(kāi)發(fā),為了解決這些網(wǎng)站的自動(dòng)發(fā)布問(wèn)題,我們開(kāi)發(fā)了POST發(fā)布方式,供您自主對接。
POST發(fā)布接口是您網(wǎng)站內的一個(gè)或一組程序,通常以一個(gè)網(wǎng)址的形式提供給優(yōu)采云,優(yōu)采云文章采集或生成完畢后,會(huì )主動(dòng)通過(guò)http請求,以POST方式,把文章數據發(fā)送到您提供的網(wǎng)址。您的服務(wù)器對應網(wǎng)址收到文章數據后,自行提取所需數據,自行實(shí)現數據處理和保存。
接口開(kāi)發(fā)第一步:創(chuàng )建接口地址
您需要創(chuàng )建一個(gè)接收POST請求的網(wǎng)址,作為接口地址。這一步通常需要在您網(wǎng)站適當位置創(chuàng )建一個(gè)可以被訪(fǎng)問(wèn)的文件,基本要求如下:
- 接收POST請求;
- 允許未登錄的訪(fǎng)問(wèn),或接收Cookie進(jìn)行登錄驗證;
- 確保此網(wǎng)址不會(huì )改變;
我們對接口地址無(wú)任何要求,比如,您的網(wǎng)站首頁(yè)地址是https://www.abc.com/
,接口地址可以是直接指向某個(gè)文件,如https://www.abc.com/123.php
或https://www.abc.com/xyz/123.asp
,也可以是經(jīng)過(guò)程序做route路由后的地址,如https://www.abc.com/888
或https://www.abc.com/xyz/789/
等等,也可以是其他任何格式,網(wǎng)址可以帶參數,也可以不帶參數,只要通過(guò)該網(wǎng)址能正常訪(fǎng)問(wèn)到接口程序即可。
接口開(kāi)發(fā)第二步:接口配置
1. 在優(yōu)采云左側欄點(diǎn)擊“發(fā)布接口配置”,在發(fā)布接口配置頁(yè)面,選擇POST接口:
2. 系統會(huì )顯示POST接口配置界面,您需要把上面創(chuàng )建的接口地址填寫(xiě)到接口地址欄,注意此處是完整網(wǎng)址:
3. 點(diǎn)擊下方添加字段按鈕,添加幾個(gè)新的字段,輸入字段名稱(chēng),選擇或輸入字段值:
關(guān)于字段名,所有字段名您都可以自定義,另外支持通過(guò) Headers.Cookie
的格式添加任意請求頭,系統在發(fā)起請求時(shí),會(huì )將它們添加到請求頭中,而非在POST數據中。
默認傳輸格式為 x-www-form-urlencoded
,如果需要以 json
格式傳輸,設置 Headers.Content-Type
的值為 application/json
即可。
此外,字段名還支持幾個(gè)簡(jiǎn)單的函數調用:
.to_array :json格式 -> 數組格式
.to_json :數組格式 -> json格式
.join :數組格式 -> 字符串格式 (英文逗號分隔)
.explode :字符串格式 -> 數組格式 (英文逗號分隔)
關(guān)于字段值,支持輸入自定義內容,或選擇系統數據字段。當輸入框為空時(shí),鼠標點(diǎn)擊輸入框,會(huì )顯示系統數據字段
,直接選擇你所需的字段內容即可。
建議至少添加一個(gè)密鑰字段或Cookie字段,用于驗證請求來(lái)源,拒絕所有非法訪(fǎng)問(wèn)。
4. 設置發(fā)布成功標識,并保存接口配置。
發(fā)布成功標識的意思是,如果您的接口輸出信息包含所選字符,我們系統就認為文章保存是成功的,否則就認為是失敗的。注意發(fā)布成功標識可以是多個(gè),也可以是單個(gè),還可以用后面的自定義框輸入,所有勾選和輸入的字符串都會(huì )被視為發(fā)布成功。
接口開(kāi)發(fā)第三步:接口程序編寫(xiě)
這一步需要在您網(wǎng)站內進(jìn)行程序編寫(xiě),一般情況由您自己負責。(由于接口可以發(fā)送cookie,事實(shí)上可以直接登錄大多數的網(wǎng)站后臺,模擬人工發(fā)布文章,所以并不一定需要開(kāi)發(fā))
您首先要做的是接收數據。在PHP中,您通??梢杂?code>$_POST或file_get_contents("php://input")
獲取所有數據;在asp中,通??梢杂?code>Request.Form獲取所有數據;在A(yíng)SP.NET中,通??梢酝ㄟ^(guò)讀取context.HttpContext.Request.Body
數據流獲取所有數據。優(yōu)采云總是使用UTF-8編碼發(fā)送數據,請您在收到數據后進(jìn)行編碼轉換,以符合您的網(wǎng)站編碼。
比如我們在接口文件中寫(xiě)入一個(gè)PHP代碼:
<?php
print_r($_POST);
?>
我們將得到整個(gè)數據,格式如下:
Array
(
[token] => 123456
[title] => 這是文章標題
[body] => <p>這是文章正文</p>
[catid] => 1
)
接口收到數據后,您通常需要實(shí)現的功能如下:
- 判斷密鑰是否正確;
- 判斷欄目ID是否存在;
- 提取正文中的圖片網(wǎng)址,進(jìn)行本地化或者上傳云存儲,提取縮略圖,生成水印等等;
- 對長(cháng)文進(jìn)行自動(dòng)分頁(yè),在適當位置插入分頁(yè)符;
- 根據文章標題、關(guān)鍵詞、tag標簽等查找相關(guān)文章,創(chuàng )建內鏈;
- 為正文html添加css樣式,實(shí)現自動(dòng)排版;
- 自動(dòng)保存tags標簽;
- 保存文章數據到數據庫;
- 自動(dòng)生成靜態(tài)頁(yè)面;
- 獲取文章URL,主動(dòng)推送到百度;
- 如果文章保存成功,輸出發(fā)布成功標識,否則輸出錯誤信息以便調試。
以上數據處理,您可以根據需求決定,優(yōu)采云不做任何規定,您只需確保最終結果符合您的需求即可。
接口開(kāi)發(fā)第四步:接口測試
在接口開(kāi)發(fā)過(guò)程中,您可以通過(guò)下圖方式,讓優(yōu)采云服務(wù)器向您的接口發(fā)送一個(gè)標準的測試文章,以此來(lái)調試接口,您的接口如果有任何輸出,都將在優(yōu)采云這邊實(shí)時(shí)顯示。您也可以使用系統實(shí)際采集或生成一些文章,保存到暫存庫,通過(guò)暫存庫也可以進(jìn)行單篇發(fā)布,以測試接口運行情況。
完畢,如有疑問(wèn),請咨詢(xún)在線(xiàn)客服。