API2

superisaac edited this page Mar 29, 2012 · 5 revisions
Clone this wiki locally

饭否API版本2的设计(草稿)

基本原则和简化思想

  • 原来的饭否API仍然继续使用,新API不再考虑同原来API的兼容性
  • 开发过程中,接口和返回内容的格式都有可能变动,所以暂时不适合正式使用
  • 用户授权只采用oauth2.0
  • 域名 api2.fanfou.com
  • 返回格式只使用json, api不用再带json后缀名
  • API设计上比较彻底的REST风格
  • 新功能的API只添加在api2中,原则上原来的API将不改动.
  • userid和statusid等直接用数字,不再encrypt

REST风格的API

  • GET/POST/PUT/DELETE
  • HTTP code也符合语义,比如200, 201, 404, 400, 403等

API列表

  • GET /statuses/home_timeline/
  • GET /statuses/user_timeline/:userid/
  • GET /statuses/mentions/
  • GET /statuses/photo_timeline/:userid/
  • GET /statuses/:statusid
  • POST /statuses/ #发送消息, 可以上传图片
  • DELETE /statuses/:statusid
  • GET /account/verify_credentials
  • PUT /account/profile
  • GET /users/show/:userid
  • GET /users/names/:nickname
  • GET /users/:userid/friends/
  • GET /users/:userid/followers/
  • GET /friendships/:userid
  • POST /friendships/:userid # 创建
  • DELETE /friendships/:userid
  • GET /favoriates/ # 收藏消息列表
  • GET /favoriates/:userid
  • POST /favoriates/ # 添加收藏
  • DELETE /favoriates/:statusid
  • 其他,如私信,search, list, realtime等

消息格式和昵称

  • 不再支持format=HTML, 只返回原始文本形式.
  • 使用昵称唯一性原则,任何出现:userid的地方,可以使用数字id, 也可以使用@昵称, 也可以使用@me表示本人
  • 查找昵称的方法,如果昵称唯一,则使用此id,否则从loginUser的friends/follower里查找,如果依然不唯一,则设置验证用户,一个昵称只对应一个验证过的用户,类似于新浪+V
  • 一个用户修改昵称后,包含他原来昵称的消息也被替换成新的昵称