🚗 API开发文档
emlog pro版本支持接口(API)调用功能,开发者可以通过调用API来和emlog系统进行交互。如:对接文章发布软件,实现自动发布文章;对接微信小程序,实现多样化的文章展示;对接浏览器插件实现更便捷的笔记发布功能等。详细接口说明请参看下文内容。
提示
该文档以最新版本emlog pro为基础编写,低版本可能不兼容,请先升级到最新版本,并在后台api设置页面开启api。
接口鉴权
(1)API秘钥鉴权:签名鉴权
- 请求方式:POST/GET
- 鉴权所需参数:
参数 | 是否必填 | 描述 |
---|---|---|
req_sign | 必填 | 接口签名,见下方计算签名规则 |
req_time | 必填 | Unix时间戳,php可使用time()函数获取,如:1651591816 |
计算签名规则
将 unix时间戳 和 API秘钥 拼接后进行md5加密,API秘钥,在后台系统-设置-API 设置页面可以找到
php代码示例:
$apikey = '******'; // API秘钥,在后台系统-设置-API 设置页面可以找到
$req_time = time(); // unix时间戳, 单位秒
$req_sign = md5($req_time . $apikey); // MD5签名
(2)API秘钥鉴权:免签名鉴权
使用简单,但是安全性不如签名鉴权,建议配合https使用
- 请求方式:POST/GET
- 鉴权所需参数:
参数 | 是否必填 | 描述 |
---|---|---|
api_key | 必填 | API秘钥,在后台系统-设置-API 设置页面可以找到 |
(3)cookie鉴权
请求需要附带用户登录emlog系统后的登录状态cookie,用来识别当前登录状态及登录用户。
// emlog登录状态cookie形如:
EM_AUTHCOOKIE_XXXXX=admin%7C0%7C2a12e9a651b7e44be3d2d3536f51eaaa; Path=/; HttpOnly;
API列表
用户登录
- 用户登录接口
- 接口URL:https://yourdomain/admin/account.php?action=dosignin
- 请求方式:POST
- 请求体格式:Form Data(application/x-www-form-urlencoded)
- 接口鉴权方式:无需鉴权
- 返回格式:JSON
请求参数
参数 | 是否必填 | 描述 |
---|---|---|
user | 必填 | 用户名、邮箱 |
pw | 必填 | 密码 |
persist | 否 | 记住我,保留登录状态(传值:1) |
login_code | 否 | 图片验证码 |
resp | 必填 | 传递字符串 "json" |
返回结果(同时附带登录成功cookie)
{
"code": 0,
"msg": "ok",
"data": ""
}
用户注册
- 用户注册接口
- 接口URL:https://yourdomain/admin/account.php?action=dosignup
- 请求方式:POST
- 请求体格式:Form Data(application/x-www-form-urlencoded)
- 接口鉴权方式:无需鉴权
- 返回格式:JSON
请求参数
参数 | 是否必填 | 描述 |
---|---|---|
必填 | 邮箱 | |
passwd | 必填 | 密码 |
repasswd | 必填 | 重复密码 |
login_code | 否 | 图片验证码 |
mail_code | 否 | 邮件验证码 |
resp | 必填 | 传递字符串 "json" |
返回结果
{
"code": 1,
"msg": "错误的邮箱格式",
"data": ""
}
找回密码:验证注册邮箱
- 找回密码:验证注册邮箱接口
- 接口URL:https://yourdomain/admin/account.php?action=doreset
- 请求方式:POST
- 请求体格式:Form Data(application/x-www-form-urlencoded)
- 接口鉴权方式:无需鉴权
- 返回格式:JSON
请求参数
参数 | 是否必填 | 描述 |
---|---|---|
必填 | 邮箱 | |
login_code | 否 | 图片验证码 |
resp | 必填 | 传递字符串 "json" |
返回结果
{
"code": 0,
"msg": "ok",
"data": ""
}
找回密码:重置密码
- 找回密码:重置密码接口
- 接口URL:https://yourdomain/admin/account.php?action=doreset2
- 请求方式:POST
- 请求体格式:Form Data(application/x-www-form-urlencoded)
- 接口鉴权方式:无需鉴权
- 返回格式:JSON
请求参数
参数 | 是否必填 | 描述 |
---|---|---|
mail_code | 是 | 邮件验证码 |
passwd | 必填 | 密码 |
repasswd | 必填 | 重复密码 |
resp | 必填 | 传递字符串 "json" |
返回结果
{
"code": 0,
"msg": "ok",
"data": ""
}