YesApi 接口文档
接口参数 若无特殊说明,接口参数同时支持GET和POST传递;推荐:查询/删除用GET,创建/更新用POST。
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 必须 | 最小:32;最大:32 | UUID,全局唯一用户ID | |
| token | 字符串 | 必须 | 最小:64;最大:64 | 会话凭证 | |
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| page | 整型 | 可选 | 1 | 最小:1 | 第几页 |
| perpage | 整型 | 可选 | 20 | 最小:1;最大:100 | 分页数量 |
| more_select | 字符串用,分割 | 可选 | 需要返回的更多字段,例如客户端额外添加的自定义字段和小白系统字段。如:more_select=id,uuid |
在线测试
| 参数 | 是否必填 | 值 |
|---|---|---|
| s | 固定 | |
| uuid | 必须 | |
| token | 必须 | |
| return_data | 可选 | |
| yesapi_allow_origin | 可选 | |
| page | 可选 | |
| perpage | 可选 | |
| more_select | 可选 |
客户端请求示例
查看我的接口域名、app_key和app_secrect 客户端接入指南(如何生成签名) 开启/关闭签名
我的客户端是【XXX】,需求是【XXX】,app_key是【XXX】,请根据以下接口文档,完成API接入。
# 【 7305 获取我的朋友圈接口】接口文档
**所属平台**: YesApi果创云
**接口地址**: `http://api.yesapi.net/?s=App.Market_Minimoments.GetMyMoment`
**请求方式**: POST/GET
## 接口基本信息
- **功能描述**: 接口超市-迷你朋友圈-获取我的朋友圈,使用前请先安装迷你朋友圈插件。
- **返回格式**: JSON
## 请求参数说明
### 系统参数(使用Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|--------|
| s | string | 必填 | 接口服务名,固定为`App.Market_Minimoments.GetMyMoment` |
| app_key | string | 必填 | 应用key,传入`你的app_key` |
| sign | string | 可选 | 公共参数接口签名,其中: 关闭签名,默认,不需要签名,在接口签名设置关闭或开启接口签名。 静态签名,简单,固定的签名,点击获取。 动态签名,复杂,安全系数高,获取密钥,教程:如何生成签名,下载SDK开发包,在线测试对比签名。 定制签名,支持个性化签名签名算法定制。 |
| uuid | string | 必填 | UUID,全局唯一用户ID |
| token | string | 必填 | 会话凭证 |
| return_data | string | 可选 | 公共参数 数据返回结构,其中: return_data=0,返回完整的接口结果,示例:{"ret":200,"data":{"err_code":0,"err_msg":"","title":"Hi YesApi,欢迎使用小白开放接口!"},"msg":"V3.1.0 YesApi App.Hello.World","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"}; return_data=1,返回简洁的接口结果,只返回data字段,结构简化一级,更扁平,示例:{"err_code":0,"err_msg":"V3.1.0 YesApi App.Hello.World","title":"Hi YesApi,欢迎使用小白开放接口!"}。 |
| yesapi_allow_origin | int | 可选 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 |
### 业务参数(使用POST或Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| page | int | 可选 | 第几页 |
| perpage | int | 可选 | 分页数量 |
| more_select | array | 可选 | 需要返回的更多字段,例如客户端额外添加的自定义字段和小白系统字段。如:more_select=id,uuid |
## 返回字段
| 返回字段 | 类型 | 说明 |
|--------|------|------|
| ret | int | 接口状态码,`200`表示成功,`4xx`表示客户端非法请求,`5xx`表示服务端异常 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当`return_data=1`时,接口只会返回此`data`字段。|
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息,成功返回时为空字符串 |
| data.err_code | int | 操作码,0表示成功,正数表示业务失败场景,负数表示系统失败场景|
| data.err_msg | string | 错误提示信息,err_code非0时参考此提示信息|
| data.total | int | 我的朋友圈条数|
| data.items | array | 我的朋友圈列表|
| data.items[].id | int | 朋友圈id|
| data.items[].nickname | string | 朋友圈发布者名称|
| data.items[].moment_content | string | 朋友圈的内容|
| data.items[].moment_url | string | 朋友圈跳转链接|
| data.items[].moment_createtime | string | 朋友圈发表时间|
| data.items[].moment_like | int | 朋友圈点赞数|
| data.items[].moment_picture1 | string | 朋友圈图片1|
| data.items[].moment_picture2 | string | 朋友圈图片2|
| data.items[].moment_picture3 | string | 朋友圈图片3|
| data.items[].moment_picture4 | string | 朋友圈图片4|
| data.items[].moment_picture5 | string | 朋友圈图片5|
| data.items[].moment_picture6 | string | 朋友圈图片6|
| data.items[].moment_picture7 | string | 朋友圈图片7|
| data.items[].moment_picture8 | string | 朋友圈图片8|
| data.items[].moment_picture9 | string | 朋友圈图片9|
| data.items[].moment_lat | string | 朋友圈发布纬度|
| data.items[].moment_lng | string | 朋友圈发布经度|
| data.items[].moment_place | string | 朋友圈位置描述|
| data.items[].moreSelect | string/int | 返回的更多的字段|
## 请求示例
```bash
curl -X POST "http://api.yesapi.net/?s=App.Market_Minimoments.GetMyMoment&app_key=YOUR_APP_KEY" \
-H "Content-Type: application/json;charset=UTF-8" \
-d "YOUR_POST_DATA_JSON"
```
成功返回示例(ret=200表示成功请求,data为成功后的业务数据):
```json
{
"ret": 200,
"data": `成功返回的业务数据`,
"msg": ""
}
```
失败返回示例:
```json
{
"ret": 400,
"data": [],
"msg": "客户端非法请求:xxx参数错误"
}
```请求:
{你的接口域名}/?s=App.Market_Minimoments.getMyMoment&app_key={你的app_key}&sign={接口签名}&page={第几页}&perpage={每次显示多少条}&uuid={uuid}&token={token}
返回:
{
"ret": 200,
"data": {
"err_code": 0,
"err_msg": "",
"total": 13,
"items": [
{
"id": 38,
"moment_nickname": "test",
"moment_content": "发朋友圈啦",
"moment_url": "http://api.okayapi.com/docs.php",
"moment_createtime": "2019-02-20 00:02:01",
"moment_like": "0",
"moment_picture1": null,
"moment_picture2": null,
"moment_picture3": null,
"moment_picture4": null,
"moment_picture5": null,
"moment_picture6": null,
"moment_picture7": null,
"moment_picture8": null,
"moment_picture9": null,
"moment_lat": null,
"moment_lng": null,
"moment_place": null
},
{
"id": 37,
"moment_nickname": "test",
"moment_content": "发朋友圈啦",
"moment_url": "http://api.okayapi.com/docs.php",
"moment_createtime": "2019-02-18 10:27:10",
"moment_like": "0",
"moment_picture1": null,
"moment_picture2": null,
"moment_picture3": null,
"moment_picture4": null,
"moment_picture5": null,
"moment_picture6": null,
"moment_picture7": null,
"moment_picture8": null,
"moment_picture9": null,
"moment_lat": null,
"moment_lng": null,
"moment_place": null
},
{
"id": 36,
"moment_nickname": "test",
"moment_content": "发朋友圈啦",
"moment_url": "http://api.okayapi.com/docs.php",
"moment_createtime": "2019-02-18 10:26:50",
"moment_like": "0",
"moment_picture1": null,
"moment_picture2": null,
"moment_picture3": null,
"moment_picture4": null,
"moment_picture5": null,
"moment_picture6": null,
"moment_picture7": null,
"moment_picture8": null,
"moment_picture9": null,
"moment_lat": null,
"moment_lng": null,
"moment_place": null
},
{
"id": 35,
"moment_nickname": "test",
"moment_content": "发朋友圈啦",
"moment_url": "http://api.okayapi.com/docs.php",
"moment_createtime": "2019-02-18 10:17:32",
"moment_like": "0",
"moment_picture1": null,
"moment_picture2": null,
"moment_picture3": null,
"moment_picture4": null,
"moment_picture5": null,
"moment_picture6": null,
"moment_picture7": null,
"moment_picture8": null,
"moment_picture9": null,
"moment_lat": null,
"moment_lng": null,
"moment_place": null
}
]
},
"msg": "小白开放接口:App.Market_Minimoments.getMyMoment"
}<?php
// 引入文件
require_once dirname(__FILE__) . '/OkayApiClient.php';
// 调用小白开放接口
$uuid='6C227C5775E547105BBD3D49756C850A';
$token='7550CABB8135AE8726D65F41E7279E616B77971FAA9AB9D2A212A50CEF69EFD1';
$rs = OkayApiClient::request('App.Market_Minimoments.getMyMoment',array('uuid'=>$uuid,'token'=>$token,'page'=>'1','perpage'=>'2'));
// 输出结果
print_r($rs);
/*
Array
(
[ret] => 200
[data] => Array
(
[err_code] => 0
[err_msg] =>
[total] => 2
[items] => Array
(
[0] => Array ( [id] => 2 [moment_nickname]=>sHuXnHs [moment_content] => 第二条朋友圈 [moment_url] => [moment_createtime] => 2019-02-15 19:27:35 [moment_like] => 0 [moment_picture1]=> [moment_picture2]=> [moment_picture3]=> [moment_picture4]=> [moment_picture5]=> [moment_picture6]=> [moment_picture7]=> [moment_picture8]=> [moment_picture9]=> [moment_lat]=> [moment_lng)=> [moment_place]=> )
[1] => Array ( [id] => 1 [moment_nickname]=>sHuXnHs [moment_content] => 第一条朋友圈 [moment_url] => [moment_createtime] => 2019-02-15 16:40:35 [moment_like] => 3 [moment_picture1]=> [moment_picture2]=> [moment_picture3]=> [moment_picture4]=> [moment_picture5]=> [moment_picture6]=> [moment_picture7]=> [moment_picture8]=> [moment_picture9]=> [moment_lat]=> [moment_lng)=> [moment_place]=> )
)
)
[msg] => 小白开放接口:App.Market_Minimoments.getMyMoment
)
*/接口返回
| 返回字段 | 类型 | 说明 |
|---|---|---|
| ret | 整型 | 接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。 |
| data.err_code | 整型 | 操作码,0表示成功,正数表示业务失败场景,负数表示系统失败场景 |
| data.err_msg | 字符串 | 错误提示信息,err_code非0时参考此提示信息 |
| data.total | 整型 | 我的朋友圈条数 |
| data.items | 字符串 | 我的朋友圈列表 |
| data.items[].id | 整型 | 朋友圈id |
| data.items[].nickname | 字符串 | 朋友圈发布者名称 |
| data.items[].moment_content | 字符串 | 朋友圈的内容 |
| data.items[].moment_url | 字符串 | 朋友圈跳转链接 |
| data.items[].moment_createtime | 字符串 | 朋友圈发表时间 |
| data.items[].moment_like | 整型 | 朋友圈点赞数 |
| data.items[].moment_picture1 | 字符串 | 朋友圈图片1 |
| data.items[].moment_picture2 | 字符串 | 朋友圈图片2 |
| data.items[].moment_picture3 | 字符串 | 朋友圈图片3 |
| data.items[].moment_picture4 | 字符串 | 朋友圈图片4 |
| data.items[].moment_picture5 | 字符串 | 朋友圈图片5 |
| data.items[].moment_picture6 | 字符串 | 朋友圈图片6 |
| data.items[].moment_picture7 | 字符串 | 朋友圈图片7 |
| data.items[].moment_picture8 | 字符串 | 朋友圈图片8 |
| data.items[].moment_picture9 | 字符串 | 朋友圈图片9 |
| data.items[].moment_lat | 字符串 | 朋友圈发布纬度 |
| data.items[].moment_lng | 字符串 | 朋友圈发布经度 |
| data.items[].moment_place | 字符串 | 朋友圈位置描述 |
| data.items[].moreSelect | string/int | 返回的更多的字段 |
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息 |
| _t | 整数 | 服务器当时Unix时间戳,例如:1657513450 |
| _auth | 字符串 | 反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单 |
异常错误码
| 错误码 | 错误类型 | 错误描述信息 | 解决方法 |
|---|---|---|---|
| ret = 200 | 成功 | 请求成功 | |
| ret = 400 | 客户端非法请求 | 非法请求,参数错误 | 1、根据接口文档的接口参数,提供正确的参数 |
| ret = 401 | 客户端非法请求 | 用户未登录,或登录凭证已过期 | 1、如果用户未注册,请先用注册接口;2、如果注册未登录或会话过期,请先用登录接口 |
| ret = 402 | 客户端非法请求 | IP已被黑名单拦截 | 1、进入接口IP设置,移除IP黑名单设置 |
| ret = 403 | 客户端非法请求 | IP未命中白名单 | 1、进入接口IP设置,添加IP白名单设置,或清空IP白名单设置 |
| ret = 404 | 客户端非法请求 | 接口服务不存在 | 1、查看小白接口大全,确保接口服务名称拼写正确 |
| ret = 406 | 客户端非法请求 | 非法app_key,请核对你所在的接口域名 | 1、在我的套餐查看并核对接口域名 |
| ret = 407 | 客户端非法请求 | 当前应用已过期 | 1、进行续费或续约,延长应用有效期 |
| ret = 408 | 客户端非法请求 | 当前应用存在异常,已被封号 | 1、联系在线客服人工处理(系统升级维护中,或 应用存在异常已被平台封号) |
| ret = 409 | 客户端非法请求 | 签名错误 | 1、使用在线测试,校正签名;2、关闭特定或全部签名设置;3、如果过期,可以进行续约/升级 |
| ret = 410 | 客户端非法请求 | 权限不足,非系统管理员 | 1、应用权限不足,可联系在线客服咨询沟通 |
| ret = 411 | 客户端非法请求 | 权限不足,应用管理员未登录 | 1、请提供应用管理员的admin_uuid和admin_token参数后重试 |
| ret = 412 | 客户端非法请求 | 权限不足,非应用管理员 | 1、请在果创云把会员设置为管理员 |
| ret = 413 | 客户端非法请求 | 本月接口流量超出,已被临时冻结 | 1、开通接口流量叠加包,或升级套餐 |
| ret = 414 | 客户端非法请求 | 并发过高 | 1、请降低请求频率,检测是否有死循环调用,或是否被他人恶意使用。如果流量确实很大,可联系在线客服进行定制化或私有云部署。 |
| ret = 415 | 客户端非法请求 | 接口已被开发者关闭 | 1、接口已被开发者关闭,请进入果创云接口开关重新开启 |
| ret = 416 | 客户端非法请求 | 权限不足,个人免费版套餐无法使用专业版接口 | 1、请先升级终身会员/标准版/旗舰版/企业版 |
| ret = 417 | 客户端非法请求 | 子应用异常,如:子应用签名错误/已过期/流量不足 | 1、使用主账号在管理和配置 客户端/子应用 |
| ret = 500 | 小白接口异常 | 如果出现此错误,请联系技术人员处理 | 1、进入QQ交流群897815708,反馈问题;2、或者提交工单,一天内回复 |
常见问题FAQ
Q1 问:出现 414 Request-URI Too Large 时怎么解决?答:对于全部参数,改用POST方式传递,并且从GET链接里面去掉。
Q2 问:浏览器请求和在线测试接口正常,但本地程序无法正常获取接口结果。答:需要注意UTF编码,以及存在中文和特殊字符时的URL编码。GET请求参数应统一进行URL编码后再请求,POST表单数据正常传递即可。
Q3 问:请求接口时提示JSON格式错误。答:请先阅读,然后检测本地传递的参数是否符合JSON格式,使用JSON在线工具辅助检测,注意双引号和特殊符号。确认无误后再重新请求API接口。
Q4 问:出现 405 不允许跨域请求 时怎么办?答:可以追加GET参数 &yesapi_allow_origin=1,或参考用反向代理解决跨域问题等3种解决方案。
Q4 问:在wx内无法访问yesapi.cn或okayapi.com域名,怎么办?答:由于曾经短链跳转使用被wx误封域名,可以帮忙进行申诉。申诉后截图联系我们,获取15万次接口流量奖励。