bludit的Api接口使用全解析

前期条件准备

首先激活api插件 记住密匙 新建一个栏目

参数解析.接口地址

路径 方法 说明
/pages GET 获取列表(文章)
/pages/{page key} GET 获取指定页面(文章)
/pages POST 创建页面(文章等)
/pages/{page key} PUT 编辑指定页面
/pages/{page key} DELETE 删除指定页面
/settings GET 获取系统设置
/settings PUT 编辑系统设置
/images POST 上传图片并生成页面缩略图
/tags GET 获取标签列表和它的页面键
/tags/{tag key} GET 获取指定标签
/categories GET 获取栏目列表和它的页面键
/categories/{category key} GET 获取指定栏目
/users GET 获取用户列表
/users/{username} GET 获取指定用户信息
/files/{page key} GET 获取与页面相关的文件

HTTP 返回

数据格式为 Content-Type: application/json.

ty类型 说明
status string 0表示成功.
message string 返回简单的提示.
data array 返回数据内容.

HTTP 状态码

HTTP 状态码 说明
200 返回成功.
400 请求失败.
401 令牌验证失败或身份验证错误

构建请求演示

获取列表.参数 /api/pages

默认值
required token string API 令牌
published boolean 获取已发布状态的页面. true
sticky boolean 获取置顶状态的页面. false
static boolean 获取静态状态的页面. false
draft boolean 获取草稿状态的页面. false
untagged boolean 获取没有标签的页面. false

以终端CURL方式 请求已发布和静态状态的页面列表  以下其他页面均以如此格式

获取页面列表
$ curl -X GET "https://a.com/api/pages?token=80a09ba055b73f68e3c9e7c9ea12b432&published=true&static=true"
获取指定页面
$ curl -X GET "https://a.com/api/pages/my-dog?token=80a09ba055b73f68e3c9e7c9ea12b432"

Javascript 示例

可以使用Fetch API来获取页面列表。

获取页面列表
<script>
fetch("https://a.com/api/pages?token=eaf5df0a626145cc6d37b76f3eccc826&published=true&static=true", { method: 'get' }).then(function(response) { return response.json(); }).then(function(json) { console.log(json.data); }); </script>
获取指定页面
https://a.com/api/pages/my-dog?token=eaf5df0a626145cc6d37b76f3eccc826

获取标签列表.参数 /api/tags

$ curl -X GET \ -G "https://a.com/api/tags" \ -d "token=80a09ba055b73f68e3c9e7c9ea12b432"

<script> fetch("https://a.com/api/tags?token=eaf5df0a626145cc6d37b76f3eccc826", { method: 'get' }).then(function(response) { return response.json(); }).then(function(json) { console.log(json.data); }); </script>

创建一个新页面.参数 /api/pages/{key}

写入内容需要一个具有Administrator用户权限的令牌(/admin/edit-user/admin#security)

参数

默认值
required token string API 的Token.
required authentication string 用户的token.
title string 标题.
content string 内容.
tags string tags.
type string 页面类型 ,sticky 置顶 static 静态 published 普通 draft 草稿
date string 日期 (f "YYYY-MM-DD Hours:Minutes:Seconds").
slug string 页面 URL 数据域. (源自小写标题)
dateModified string 页面修改日期.
position string 页面位置.
coverImage string 页面封面图片.
category string 页面所属栏目.
template string 页面模板.
noindex string 页面无索引.
nofollow string 页面nofollow.
noarchive string 页面 noarchive.

http post参数 创建页面

编辑页面与创建不同的是路径和方法PUT

/api/pages/{key}

PUT

/api/pages

Accept: application/json, text/plain, */* Accept-Language: zh-CN,zh;q=0.9 Content-Type: application/x-www-form-urlencoded token: 6242e9013f460df00f4bd55daca6f9bc authentication: 68056b5d90cad9916a60be81e1d04b8a User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1

数据 (支持写入自定义字段)
{ "token": "6242e9013f460df00f4bd55daca6f9bc", "authentication": "68056b5d90cad9916a60be81e1d04b8a", "title": "{-var.title-}", "content": "{-var.content-}", "description": "42342424" }

Curl方式请求

先构建一个数据文件 内容是

{ "token": "24a8857ed78a8c89a91c99afd503afa7", "authentication": "193569a9d341624e967486efb3d36d75", "title": "1", "content": "Content支持Markdown和HTML" }

$ curl -X POST \ -H "Content-Type: application/json" \ -d @data.json \ "https://a.com/api/pages"

返回状态,消息,key

删除页面

HTTP 请求

DELETE /api/pages/{key}
方法 DELETE

Accept: application/json, text/plain, */* Accept-Language: zh-CN,zh;q=0.9 Content-Type:
application/json token: 6242e9013f460df00f4bd55daca6f9bc authentication: 68056b5d90cad9916a60be81e1d04b8a User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1

数据 只需要两个tk

$ curl -X DELETE \
--data "token=24a8857ed78a8c89a91c99afd503afa7" \ --data "authentication=193569a9d341624e967486efb3d36d75" \ -H "Content-Type: application/json" \ "https://a.com/api/pages/1"