欢迎来到人人网开放平台 人人网首页
登录/创建账户

目录

[编辑] 描述

这是关于人人网开放平台中#REST规范接口API的描述文档。通过这些接口(API),你可以完成你的应用程序获得人人网的用户资料、好友关系等几乎所有可开放的数据。

[编辑] REST规范接口

人人网开放平台API是采用REST基础的接口规范。所有的人人网(http://renren.com) 开放平台API都是通过HTTP POST向XN API REST Server(http://api.renren.com/restserver.do) 发送请求来实现的。几乎所有的计算机语言都可以通过HTTP协议同REST服务器通信。REST 服务端支持gzip,这样能降低网络的开销,建议大家加入gzip

特别注意:在向人人网REST Api服务器发送POST请求时,会传入很多参数,格式为key=value,必须对value进行URL编码(UTF-8)才能正确调用,尤其是session_key,如果不编码,服务器无法正确读取,可能会返回session_key无效的错误提示。例如:

1.URL编码的示例代码(java): value = java.net.URLEncoder.encode(value,"UTF-8")
2.Content-Type: header of application/x-www-form-urlencoded

[编辑] API接口列表

[编辑] 已发布


admin.getAllocation(update)2009-2-19
得到一个应用当天可以发送的通知和邀请的配额
auth.createToken
生成一个auth_token作为login.do下的一个参数,在用户完成登录以后调用auth.getSession得到一个session_key,只适用站外应用
auth.getSession
生成一个用户的session_key,只适用站外应用
connect.getUnconnectedFriendsCount
此方法返回当前用户在此站点上,但还没有建立connect关系的好友数量
connect.registerUsers
用来建立站点用户和校内用户之间的映射关系
connect.unregisterUsers
删除站点用户和校内用户之间的映射关系
feed.publishTemplatizedAction
发送自定义格式的新鲜事(news-feed、mini-feed)
friends.areFriends
判断两组用户是否互为好友关系,比较的两组用户数必须相等。
friends.get
得到当前登录用户的好友列表,得到的只是含有好友id的列表。
friends.getFriends
得到当前登录用户的好友列表。
friends.getAppUsers
返回已经添加了一个应用的好友的用户Id列表,即将过期,不推荐使用,请使用friends.getAppFriends
friends.getAppFriends
查询当前用户安装某个应用的好友列表,此接口返回全部数据(2008-12-18)。此接口在新的0.7版本以后提供使用
invitations.getOsInfo
根据站外邀请id得到此次邀请的详细信息(邀请人、邀请时间、被邀请人、注安装app时间等)
notifications.send
给指定的用户发送通知
pay.isCompleted
查询某个用户在一个应用中一次消费是否完成(2008-10-27)。此接口在新的0.7版本以后提供使用
pay.regOrder
预存入用户在应用中消费产生的订单数据,消费金额等信息,返回保证一个用户某次在一个应用中支付人人豆安全性的Token(2008-10-27)。
pay4Test.isCompleted
只用于开发者模拟人人豆支付的测试,功能与pay.isCompleted一样(2008-12-18)。此接口在新的0.7版本以后提供使用
pay4Test.regOrder
只用于开发者模拟人人豆支付的测试,功能与pay.regOrder一样(2008-12-18)。此接口在新的0.7版本以后提供使用
profile.getXNML
得到用户(当前会话用户或者是一个指定ID的用户)Profile中一个应用的XNML设置。
profile.setXNML
设置、更新用户(当前会话用户或者是一个指定ID的用户)的profile中一个应用的XNML片段。(暂停使用)
users.getInfo(update)2009-2-19
得到用户信息,此接口在新的0.5版本以后中增加返回是否为星级和紫豆用户节点
users.getLoggedInUser
得到当前session的用户ID
users.hasAppPermission
根据用户的id,以及相应在人人网的操作权限(接收email,更新状态等),来判断用户是否可以进行此操作,此接口在新的0.8版本以后提供使用
users.isAppUser
判断用户是否已对App授权

[编辑] 待公开


notifications.sendEmail
再取得用户的授权后,给用户发送Email。
batch.run(beta)
批量执行多个接口调用
pay.queryOrders(beta)
获取指定用户的状态列表
status.gets(beta)
获取指定用户的状态列表
status.set(beta)
用户更新状态
status.addComment(beta)
回复用户的状态
status.delete(beta)
删除状态
status.removeComment(beta)
删除状态回复
status.getFriendsList(beta)
获取所有好友当前最新的状态列表
status.getPublicList(beta)
获取公共的状态列表(类似开心中随便看看中的状态信息)
status.getStream(beta)
获取状态的新鲜事
status.get(beta)
获取指定状态的相关信息,只包括回复数
status.getComment(beta)
获取某条状态中的回复内容
status.getEmoticons(beta)
获取状态中表情图片和表情符号的对应列表

[编辑] 已作废


invitations.getUserOsInviteCnt
得到某个用户站外邀请的详细信息(发送邀请信数、星级用户数等)
invitations.getIsInviters
根据用户的id获得想该用户发送过的站内邀请的好友id。用户id可多个,以,号分隔,返回的<inviter_id>节点的id按发送邀请的先后排序。
requests.sendRequest
这个接口已停止使用,同时提供一套完整的邀请流程解决方案供开发者使用。XNML应用可以使用Xn:invite-form标签,iframe应用参见Iframe类型的应用的站内邀请怎么做啊?
notifications.sendemail
给指定的用户发送email,此接口在新的0.8版本以后提供使用
users.isAppAdded
判断用户(当前会话用户或者是一个指定ID的用户)是否已经添加了该应用。请使用users.isAppUser来替代

[编辑] 其他相关技术文档