链滴 社区客户端 API 文档 作者:88250 原文链接:https://ld246.com/article/1488603534762 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)
该文档主要面向社区客户端开发者,如果你想开发一个移动端 APP 的话请仔细阅读该文档。如 你喜欢写博客,想要将博客和社区进行联动的话请参考[内容 API 开放,欢迎各位独立博客主进行连接](https://ld246.com/article/145715 841475) 。
目前以下列出的 API 已经可用,大家有什么想补充的请跟帖。
对于请求和响应的一些公共约定在这里统一进行描述。
数据使用 UTF-8 编码
参数可能是查询字符串也可能是通过 body 传递
响应的 Status Code 可能是 200
也可能是其他值,客户端需要校验
401
:需要登录403
:权限不足不要使用 HTTP 客户端自带的 UA,请一定要自定义 UA,推荐格式 {App}/{Ver},比如 Solo/2.9.5
。如果不自定义 UA,请求将会被社区的 量监控系统阻断,并且对发起请求的 IP 进行一定时间的拦截。
symphony
进行身份验证请求:
p
作为当前页号20
响应:
返回 pagination
对象,包含两个字段:
paginationPageCount
:分页总页数paginationPageNums
:以参数 p
为中间的窗口页码列表 窗口最大宽度为 15响应中的 HTTP body 为 JSON 结构,固定包含 3 个字段:
<span class="highlight-p">{</span>
<span class="highlight-s2">"code"</span><span class="highlight-o">:</span> <span cla s="highlight-mi">0</span><span class="highlight-p">,</span>
<span class="highlight-s2">"msg"</span><span class="highlight-o">:</span> <span cla s="highlight-s2">""</span><span class="highlight-p">,</span>
<span class="highlight-s2">"data"</span><span class="highlight-o">:</span> <span cla s="highlight-kc">null</span>
<span class="highlight-p">}</span>
`</pre>
原文链接:社区客户端 API 文档
其中:
code
:类型是 int,不会为 null,表示状态码,其值请参考 [StatusCode.java](https:// ink.ld246.com/forward?goto=https%3A%2F%2Fgithub.com%2F88250%2Fsymphony%2Fblo %2Fmaster%2Fsrc%2Fmain%2Fjava%2Forg%2Fb3log%2Fsymphony%2Futil%2FStatusCodes.ja a)
使用 HTTPS 协议
所有 API 都会做是否允许非登录请求的校验,如果返回 `401</co e> 则请带上 Cookie
请勿频繁调用,每个 IP 每分钟请求数不能超过 120 次,每个 IP 只能建立一个连接
GET 方法:
按优选排序:https://ld2 6.com/api/v2/articles/latest/perfect?p=1
GET 方法:https://ld246.com/api/v2/articles/domain/{domainURI}?p=1`
/li>
示例:[https://ld246.com
api/v2/articles/domain/Java?p=1](https://ld246.com/api/v2/articles/domain/Java?p=1)
获取标签帖子列表
-
GET 方法:https://ld246.com/api/v2/articles/tag/{tagURI}?p=1
示例:
-
-
-
-
按优选排序:https://l 246.com/api/v2/articles/tag/Java/perfect?p=1
原文链接:社区客户端 API 文档* 按最近回帖排序:https:/ ld246.com/api/v2/articles/tag/Java/reply?p=1
获取帖子详情
GET 方法:
是回帖的https://ld246.com/api/v2/article/{articleId}?p=1
,分页参数 <
ode>p
示例:https://ld246.c m/api/v2/article/1488603534762?p=1
POST 方法:https://ld246.com/api/v2/article
Body:
<span class="highlight-p"> </span> <span class="highlight-s2">"articleTitle"</span><span class="highlight-o">:</span> <sp n class="highlight-s2">""</span><span class="highlight-p">,</span> <span class="highlight-s2">"articleTags"</span><span class="highlight-o">:</span> <s an class="highlight-s2">""</span><span class="highlight-p">,</span> <span class="highli ht-c1">// 用英文逗号分隔 </span><span class="highlight-c1"></span> <span class="highlight-s2">"articleContent" /span><span class="highlight-o">:</span> <span class="highlight-s2">""</span><span cla s="highlight-p">,</span> <span class="highlight-s2">"articleRewardContent"</span><span class="highlight-o">:</ pan> <span class="highlight-s2">""</span> <span class="highlight-c1">// 打赏区内容 </span><span class="highlight-c1"></span> <span class="highlight-s2">"articleRewardPo nt"</span><span class="highlight-o">:</span> <span class="highlight-kr">int</span> <sp n class="highlight-c1">// 打赏积分 </span><span class="highlight-c1"></span><span class="highlight-p">}</span>
GET 方法:https://ld246.com/api/v2/article/update/{articleId}
示例:https://ld246. om/api/v2/article/update/1488603534762
PUT 方法:https://ld246.com/api/v2/article/{articleId}
Body:
<span class="highlight-p"> </span> <span class="highlight-s2">"articleTitle"</span><span class="highlight-o">:</span> <sp n class="highlight-s2">""</span><span class="highlight-p">,</span> <span class="highlight-s2">"articleTags"</span><span class="highlight-o">:</span> <s an class="highlight-s2">""</span><span class="highlight-p">,</span> <span class="highli ht-c1">// 用英文逗号分隔 </span><span class="highlight-c1"></span> <span class="highlight-s2">"articleContent" /span><span class="highlight-o">:</span> <span class="highlight-s2">""</span><span cla s="highlight-p">,</span> <span class="highlight-s2">"articleType"</span><span class="highlight-o">:</span> <s an class="highlight-kr">int</span><span class="highlight-p">,</span> <span class="highli ht-c1">// 帖子类型,按获取帖子后的值传入即可 </span><span class="highlight-c1"></span> <span class="highlight-s2">"articleRewardC 原文链接:社区客户端 API 文档 ntent"</span><span class="highlight-o">:</span> <span class="highlight-s2">""</span> < pan class="highlight-c1">// 打赏区内容 </span><span class="highlight-c1"></span> <span class="highlight-s2">"articleRewardPo nt"</span><span class="highlight-o">:</span> <span class="highlight-kr">int</span> <sp n class="highlight-c1">// 打赏积分 </span><span class="highlight-c1"></span><span class="highlight-p">}</span>
POST 方法:https://ld246.com/api/v2/comment
Body:
<span class="highlight-p"> </span> <span class="highlight-s2">"articleId"</span><span class="highlight-o">:</span> <span class="highlight-s2">""</span><span class="highlight-p">,</span> <span class="highlight-s2">"commentContent"</span><span class="highlight-o">:</spa > <span class="highlight-s2">""</span><span class="highlight-p">,</span> <span class="highlight-s2">"commentOriginalCommentId"</span><span class="highligh -o">:</span> <span class="highlight-s2">""</span><span class="highlight-p">,</span> < pan class="highlight-c1">// 可选,如果是回复则传入原回帖 id </span><span class="highlight-c1"></span><span class="highlight-p">}</span>
GET 方法:https://ld246.com/api/v2/ omains?p=1
GET 方法:https://ld246.com/api/v2/domain/{domainURI}
示例:https://ld246.com/api/v2/doma n/Java
GET 方法:https://ld246.com/api/v2/tags p=1
GET 方法:https://ld246.com/api/v2/tag/{tagURI}
示例:[https://ld246.com/api/v2/tag/Java< a>
GET 方法:https://ld246.com/api/v2/user
示例:https://ld246.com/api/v2/user](https://ld246.com/api/v2/tag/Java
GET 方法:https://ld246.com/api/v2/user/{userName}
示例:https://ld246.com/api/v2/user/8 250
GET 方法:https://ld246.com/api/v2/user/n/{userNo}
示例:[https://ld246.com/api/v2/user/n/1< a>
GET 方法:https://ld246.com/api/v2/user/{userName}/articles?p=1
示例:https://ld246.com/a i/v2/user/88250/articles?p=1](https://ld246.com/api/v2/user/n/1
GET 方法:https://ld246.com/api/v2/user/{userName}/comments?p=1
</
i>
GET 方法:https://ld246.com/api/v2/user/{userName}/events?size=16
size
为获取条数,最小为 1
,最大为 64
不传该参数则默认为 16
。
GET 方法:`https://ld246.com/api/v2/user/{userName}/watching/articles?p=1</c de>
示例:https://ld 46.com/api/v2/user/88250/watching/articles?p=1
GET 方法:https://ld246.com/api/v2/user/{userName}/following/users?p=1</co
e>
-
示例:https://ld2
6.com/api/v2/user/88250/following/users?p=1
获取用户关注标签列表
-
GET 方法:https://ld246.com/api/v2/user/{userName}/following/tags?p=1
-
示例:https://ld246
原文链接:社区客户端 API 文档
com/api/v2/user/88250/following/tags?p=1
获取用户收藏帖子列表
-
GET 方法:https://ld246.com/api/v2/user/{userName}/following/articles?p=1</c de>
-
示例:https://ld 46.com/api/v2/user/88250/following/articles?p=1
获取用户关注者列表
-
GET 方法:https://ld246.com/api/v2/user/{userName}/followers?p=1`</l
- 示例:[https://ld246.com
api/v2/user/88250/followers?p=1](https://ld246.com/api/v2/user/88250/followers?p=1)
通知
获取未读消息计数
-
GET 方法:https://ld246.com/api/v2/notifications/unread/count
-
示例:https://ld246.com api/v2/notifications/unread/count
获取收到的回帖消息列表
-
GET 方法:https://ld246.com/api/v2/notifications/commented?p=1
-
示例:https://ld246. om/api/v2/notifications/commented?p=1
获取收到的评论消息列表
-
GET 方法:https://ld246.com/api/v2/notifications/comment2ed?p=1
</l
- 示例:[https://ld246
com/api/v2/notifications/comment2ed?p=1](https://ld246.com/api/v2/notifications/comment2ed?p=1)
获取收到的回复消息列表
-
GET 方法:https://ld246.com/api/v2/notifications/reply?p=1
-
示例:https://ld246.com/ap /v2/notifications/reply?p=1
获取提及我的消息列表
-
GET 方法:https://ld246.com/api/v2/notifications/at?p=1
-
示例:https://ld246.com/api/v
/notifications/at?p=1
获取我关注的消息列表
-
GET 方法:https://ld246.com/api/v2/notifications/following?p=1
-
示例:https://ld246.co /api/v2/notifications/following?p=1
获取我的积分消息列表
-
GET 方法:https://ld246.com/api/v2/notifications/point?p=1
-
示例:https://ld246.com/ap /v2/notifications/point?p=1
获取同城广播消息列表
-
GET 方法:https://ld246.com/api/v2/notifications/broadcast?p=1
-
示例:https://ld246.c
m/api/v2/notifications/broadcast?p=1
获取钱包消息列表
-
GET 方法:https://ld246.com/api/v2/notifications/wallet?p=1
-
示例:https://ld246.com/a i/v2/notifications/wallet?p=1
获取系统公告消息列表
-
GET 方法:https://ld246.com/api/v2/notifications/sys-announce?p=1
</l
- 示例:[https://ld24
.com/api/v2/notifications/sys-announce?p=1](https://ld246.com/api/v2/notifications/sys-announce?p=1)
标记消息列表为已读
-
GET 方法:https://ld246.com/api/v2/notifications/make-read/{type}
其中 {type}
是消息类型:
-
commented
:收到的回帖,包括合并回帖
-
comment2ed
:收到的评论
-
reply
:收到的回复
-
at
:提及我的
-
following
:我关注的
同城广播、钱包和系统公告消息拉取后会被自动标记为已读状态,无需调用此 API 进行标记已读
通知关联的数据类型说明
每条获取到的消息都会有 dataType
字段,表示与该消息关联的数据类型。</ >
数据类型说明
原文链接:社区客户端 API 文档
原文链接:社区客户端 API 文档
原文链接:社区客户端 API 文档
用户 id
用户 id
用户 id
用户 id
用户 id
用户 id
原文链接:社区客户端 API 文档
原文链接:社区客户端 API 文档
原文链接:社区客户端 API 文档
dataType dataId 备注
-1 没有该字段 关联数据已被删除
0 暂未使用
1 暂未使用
2
帖子 id 或回帖 id
此处为设计缺陷,建议用 `dataId` 先查回帖,为空的话再查帖子
3 回帖 id
4
帖子 id 关注的用户发新贴
5
积分转账 id 转账记录会关联转账类型,目前暂时没有接口查询,下同
6 积分转账 id
7
打赏 id 打赏记录会关联打赏类型,目前暂时没有接口查询,下同
8
感谢 id 感谢记录会关联感谢类型,目前暂时没有接口查询,下同
9 帖子 id
10 积分转账 id
11 积分转账 id
12 感谢 id
13 回复 id
14 用户 id
15 帖子 id
16 帖子 id
17 用户 id
18 用户 id
19
老角色 id - 新角色 id
20 帖子 id
21 回帖 id
22 帖子 id
23 帖子 id -
24 帖子 id -
25 回帖 id -
26 回帖 id -
27 帖子 id -
28 帖子 id -
29 货币转账 id
30 货币转账 id
31 货币转账 id
32 货币转账 id
33 回帖 id
34
回帖 id
合并后所有的回帖 id 需要通过 `data` 字段获取
35 回帖 id 同 34
36 积分转账 id
37 聊天会话 id
38
评论 id - 用户 id
39 感谢 id
40 评论 id
41 评论 id
42 帖子 id
43 帖子 id
44 回帖 id
45 回帖 id
46 评论 id
47 评论 id
48 帖子 id
49 回帖 id
50 评论 id
51 帖子 id
52 回帖 id
53 评论 id
54 积分转账 id
榜单
获取新注册用户列表
-
GET 方法:https://ld246.com/api/v2/tops/users/newbies
-
示例:https://ld246.com/api/v2 tops/users/newbies
获取粉丝榜
-
GET 方法:https://ld246.com/api/v2/tops/users/followers
-
示例:https://ld246.com/api/v
/tops/users/followers
登录
密码验证
-
POST 方法:`https://ld246.com/api/v2/login`
-
Body:
`{
"userName": "", // 用户名或者邮箱
"userPassword" /span>: "", // 使用 MD5 哈希后的值 "captcha": "" // 正常登录不用带该字段,登录失败次数过多时必填
} `
* 返回:
`{
"code": 0, "msg"< pan class="highlight-o">: "",
"token": "", "userName": "", // 用户名
"needCaptcha"< span>: "" // 登录失败次数过多会返回该值
} `
登录成功后会返回 token
,后续请求需要将该值设置为 Cookie symp ony
的值,用于鉴权。如果需要填验证码,则使用 needCaptcha
返回的 作为参数 GET 请求一次 /captcha/login?needCaptcha={needCaptcha}
,返回的 片就是验证码了。
两步验证
-
POST 方法:https://ld246.com/api/v2/login/2fa
-
Cookie:Cookie: symphony={token}
,请求 Cookie 需要带 symp ony
项,值为 login 接口返回的 token
-
Body:
<span class="highlight-p"> </span> <span class="highlight-s2">"twofactorAuthCode"</span><span class="highlight-o">:</s an> <span class="highlight-s2">""</span> <span class="highlight-c1">// 身份验证器动态口 验证码,6 位纯数字 </span><span class="highlight-c1"></span><span class="highlight-p">}</span>
* 返回: `{ /span>
"code": 0, <span class="highlight-c1" // 0 为成功
"msg"< pan class="highlight-o">: "",
"token": "", <span class="highlight-c1 >// 成功时才有该值
"userName"</s an>: "" <span class "highlight-c1">// 用户名
}
登出
- POST 方法:
https://ld246.com/api/v2/logout
系统
获取系统当前时间
- GET 方法:
https://ld246.com/api/v2/system/time
- 示例:https://ld246.com/api/v2/syste /time
原文链接:社区客户端 API 文档
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。