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"