V2EX API意见及建议

2012-04-27 10:08:04 +08:00
 darcy
昨天晚上拿V2EX的API玩了一下,随即发现一些问题。给@Livid发了邮件,但只说当时发现的了一个小问题。
刚开始的时候没有在网站上找着API的集中说明页面,随即去翻了PB2的源代码,得知有如下接口,其中标识broken的在PB3里无法使用或者疑似无法使用。
[01]: /api/site/stats.json
[02]: /api/site/info.json
[03]: /api/nodes/all.json
[04]: /api/nodes/show.json?id=1
[05]: /api/topics/latest.json
[06]: /api/topics/show.json?id=1 (broken)
[07]: /api/topics/show.json?username=Livid
[08]: /api/topics/show.json?node_id=1
[09]: /api/topics/create.json (POST,未测试)
[10]: /api/replies/show.json?topic_id=1
[11]: /api/members/show.json?username=Livid

相关问题:
1.[05]latest只会返回最后20条信息,无法翻页读取更多信息。

2.返回的topics信息里面,带有member信息,但是不带有member的avatar,如过需要,只能使用[11]额外逐一拉取一次用户信息,对于需要显示头像信息的移动设备应用来说,代价太高。

3.缺乏批量接口。如上,额外拉取用户信息不一定不妥,但多次发起请求来拉取非常损耗性能,希望能增加一个批量拉取接口,应用可以一次拉取多个用户数据,减少请求数。

4.有发表接口,没有回复接口。

5.接口直接吐出数据,不带有任何状态信息。这个Livid已经在 /t/32414 中有所考虑了。

PS:希望新增加或者更新的接口不影响现有接口。

-EOF-
7695 次点击
所在节点    API
28 条回复
Livid
2012-04-27 14:03:09 +08:00
非常感谢反馈。

目前 API 部分的状态是:

- 我们移植了 PB2 的所有接口,但是还没有做过测试
- 目前只有读取方面的 API

API 部分的计划是:

- 我会在本周末对所有 API 进行一次完整测试和修复
- API 1.0 会在 5 月和文档一起正式上线
- 届时会提供给大家一个测试专用的服务器地址

非常抱歉目前有些接口不能正常工作。

cc @Kai
Kai
2012-04-27 14:08:42 +08:00
嗯,五月份完整的 API 上线时,需要一段时间的性能测试。

非常感谢 @darcy 同学 :)
gDD
2012-04-27 14:25:42 +08:00
@Kai @Livid 希望能有JSONP的callback=xxx参数。

http://en.wikipedia.org/wiki/JSONP
Livid
2012-04-27 14:46:43 +08:00
@gDD 会有的,之前 PB2 上是有 JSONP 支持的。这个部分我们接下来也会做移植。
Livid
2012-04-27 14:54:31 +08:00
@darcy

- 你提到的 broken 的 [6] 现在已经修复: http://www.v2ex.com/api/topics/show.json?id=1

- 现在 topics/show 和 replies/show 中都已经带上了 member 和 node 的头像文件地址

接下来需要解决和实现的:

- 目前 V2EX 还没有任何写入接口。如何防止写入接口被 abusing,还需要思考一段时间。

- 所有的读取接口,在分页和检查更新的实现上,将会参考 Twitter API 的实现方式。

谢谢 @darcy ,如果发现任何新问题,或是有任何新想法,请随时告诉我。:)
darcy
2012-04-27 19:11:41 +08:00
@Livid @Kai 非常感谢你们所做的工作!
早上的时候还有在做一个额外的头像信息拉取工作,这样一来现在已经可以不用做了,节省了不少带宽。
yyfearth
2012-04-27 20:48:33 +08:00
@Livid 一些比较有用的API应该尽快加上,不过难度在于用户的Auth(login)。
然后就是 获取用户的通知,添加、取消 收藏 这个应该不会有滥用的情况
尤其是前者比较有用
sharkli
2012-04-28 13:02:43 +08:00
@Livid topics/latest.json 返回的member里面是不是也需要image url
darcy
2012-04-29 10:12:32 +08:00
@Livid
latest.json返回结果里["node"]["url"]节点下的内容疑似未编码,导致JSON转换失败

darcy
2012-04-29 11:29:24 +08:00
@Livid
在返回的topic信息里,有"content"和"content_rendered"两个字段分布返回原文及以html解析后的内容,但是在
[10]: /api/replies/show.json?topic_id=1
只有一个"content"字段,且是返回的以html解析后;内容与原意不一致,请帮忙处理一下,提供一下原文数据。
Livid
2012-04-29 14:38:23 +08:00
@darcy 收到,现在马上解决。
Livid
2012-04-29 14:44:10 +08:00
@darcy

- topics/latest.json 里的问题修正了
- replies/show.json 中现在可以同时输出 content 和 content_rendered

Thank you. :)
darcy
2012-05-01 22:58:37 +08:00
@Livid
今天在遇到点问题:
/api/topics/show.json?node_id=142

node_id等141/143都没问题,均能返回该节点下主题列表,但是节点id为142时就返回的时一篇帖子内容,估计是单个数据时未作为list来处理。

["node"]["url"]出现同9楼类似的问题。

Thanks for your help.
Livid
2012-05-01 23:03:14 +08:00
@darcy 好的,我现在就看看。
Livid
2012-05-01 23:18:35 +08:00
@darcy 明白了,现在开始解决:

- 出现单个主题时,也作为 list 返回
- template 中的 node_url 的错误
Livid
2012-05-01 23:35:21 +08:00
@darcy 这两个问题好了。

非常感谢你的反馈。:)
darcy
2012-05-03 00:49:01 +08:00
@Livid 嘿,偶又来打扰了。
是否可以提供发帖及评论API了呢?对于滥用限制方面极端情况下采用百名单得了
另盼翻页功能/读取收藏夹及收藏功能/读取提醒列表功能
darcy
2012-05-04 14:32:03 +08:00
@Livid @Kai 还有关注列表哈 ^_^
Livid
2012-05-04 14:38:23 +08:00
@darcy 好的,收到。
vanemu
2012-06-01 09:07:47 +08:00
@Livid 5月份已经过去了,API 1.0 发布了吗?还是跳票了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/33784

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX