Z-BlogPHP API接口

API地址模式:https://example.com/zb_system/api.php?mod=<模块名>[&act=<行为名>][&其他...]

1、对于各【API 模块】的act=post请求,其请求参数为$GLOBALS['datainfo']中与该模块对应的数据字段定义;

  • 参数字段名区分大小写;
  • 不需要提供全部字段值,比如【发布状态】【类型(文章/页面)】【置顶】等项目可以使用默认,而时间相关的
    字段则会初始为当前时间;
  • 除Comment和Upload外,act=post请求时ID 字段为必须指定,为 0 时新建,不为 0 且项目存在时则修改;
  • 可在【zb_system/defend/datainfo.php】文件中搜索查看$GLOBALS['datainfo']。

2、各接口返回信息以实际为准,可参考【通用返回格式】。

3、对于【登录】操作以外的POST请求,一律需要设置鉴权;【登录和鉴权】

GET请求时仅在部分【功能模块】中的部分【只读操作】可以不设置鉴权,此外未鉴权请求频率或查询数量可能受限制。

以下将按【功能模块】进行详细说明。

一、member管理API

member管理API

实例1:login登录成功后返回值

//发送的POST字段如下
username = '用户名'
password = md5('密码明文')
savedate = '保存天数'
{
"code": 200,
"message": "操作成功",
"data": {
"user": {
"ID": "1",
"Level": "1",
"Status": "0",
"Name": "admin",
"StaticName": "admin" // 等等 members 相关信息
},
"token": "Token 信息",
"expire_time": 1672560322 // 过期时间
},
"error": null,
"runtime": {
}
}

此处login操作返回的「鉴权 Token」将用于后续需要「鉴权」的请求。

实例2:post 创建一个用户

{
"ID": "0",
"Level": "4",
"Name": "用户名",
"Password": "zblog_pwdd",
"PasswordRe": "zblog_pwdd"
}
  • "ID": "0", 必须显示设置;
  • "Level": "4", 为用户等级。

二、post管理API

post管理API

实例1:post 新建或发布文章的$_POST参数示范

$_POST['ID'] 为 0 是新建
$_POST['Title']
$_POST['Alias']
$_POST['Type'] 为 0 是文章,1 是 page 页面
$_POST['AuthorID']
$_POST['CateID'] 如果没有提供 CateID,可提供 CateName
$_POST['Intro']
$_POST['Content'] 
$_POST['Tag']
$_POST['PostTime']
$_POST['Status'] 状态

注意:对于发布文章,额外提供一个CateName字段可用来代替CateID指定分类,前提是存在以该字段值命名的分类;也可以使用category模块内的接口实现自动创建分类等操作。

三、app管理API

app管理API

四、category管理API

category管理API

五、comment管理API

comment管理API

实例:post 发布评论的$_POST参数示范

$_POST['LogID'] 评论对应的文章ID
$_POST['Name'] 评论者名字
$_POST['ReplyID'] 回复评论的ID
$_POST['Email'] 评论者电邮
$_POST['HomePage'] 评论者网站
$_POST['Content'] 评论正文

六、module管理API

module管理API

实例:post 新建或编辑模块的$_POST参数示范

$_POST['ID'] 为 0 是新建
$_POST['FileName'] 模块的唯一标识符,起名需符合文件名规则
$_POST['HtmlID'] 模块的HTML的id
$_POST['MaxLi'] 模块内li标签最大数量
$_POST['IsHideTitle'] 是否隐藏模块的标题
$_POST['Type'] 模块的类别,为div或ul
$_POST['Content'] 模块的内容
$_POST['NoRefresh'] 锁定模块的内容不让程序更改

七、system管理API

system管理API

实例:get_setting 和 save_setting 可以返回或设置的 option 值

$GLOBALS['setting_keys'] = array(
'ZC_BLOG_NAME',
'ZC_BLOG_SUBNAME',
'ZC_BLOG_COPYRIGHT',
'ZC_TIME_ZONE_NAME',
'ZC_BLOG_LANGUAGEPACK',
'ZC_API_ENABLE',
'ZC_XMLRPC_ENABLE',
'ZC_DEBUG_MODE',
'ZC_DEBUG_MODE_WARNING',
'ZC_ADDITIONAL_SECURITY',
'ZC_USING_CDN_GUESTIP_TYPE',
'ZC_CLOSE_SITE',
'ZC_DISPLAY_COUNT',
'ZC_DISPLAY_SUBCATEGORYS',
'ZC_PAGEBAR_COUNT',
'ZC_SEARCH_COUNT',
'ZC_SYNTAXHIGHLIGHTER_ENABLE',
'ZC_COMMENT_TURNOFF',
'ZC_COMMENT_AUDIT',
'ZC_COMMENT_REVERSE_ORDER',
'ZC_COMMENTS_DISPLAY_COUNT',
'ZC_COMMENT_VERIFY_ENABLE',
'ZC_UPLOAD_FILETYPE',
'ZC_UPLOAD_FILESIZE',
'ZC_ARTICLE_INTRO_WITH_TEXT',
'ZC_ARTICLE_THUMB_SWITCH',
'ZC_ARTICLE_THUMB_TYPE',
'ZC_ARTICLE_THUMB_WIDTH',
'ZC_ARTICLE_THUMB_HEIGHT',
'ZC_MANAGE_COUNT',
'ZC_POST_BATCH_DELETE',
'ZC_DELMEMBER_WITH_ALLDATA',
'ZC_CATEGORY_MANAGE_LEGACY_DISPLAY',
);

八、tag管理API

tag管理API

实例:post 新建或编辑标签的$_POST参数示范

$_POST['ID'] 为 0 是新建
$_POST['Alias'] 标签的别名 
$_POST['Intro'] 标签的简介
$_POST['Template'] 标签的模板,默认为空

九、upload管理API

upload管理API

实例:post 提交新的附件

客户端或小程序 POST 提交上传文件到 mod=upload&act=post,提交成功后 json($upload) 对象 例如:

{"code":200,"message":"操作成功","data":
{"upload":{"ID":118,"AuthorID":"1","Size":100676,
"Name":"tmp_14af3ac3791ceeb34e0755ccc3586ce2.jpg",
"SourceName":"tmp_14af3ac3791ceeb34e0755ccc3586ce2.jpg",
"MimeType":"image/jpeg","PostTime":1648973749,
"DownNums":0,"LogID":0,"Intro":"","Url":"xxxxxxxxxxxxxxx"}
},"error":null,
"runtime":{"time":"54.25","query":14,"memory":4035,"debug":0,"loggedin":1,"error":0}
}

提交失败后返回 false。

广告合作
QQ群号:707632017

温馨提示:

1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com。(#改为@)

2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。

目录