人人开放平台API网站接入的简单使用
人人的API开放平台:
//dev.renren.com/
开发文档首页: //wiki.dev.renren.com/wiki/%E9%A6%96%E9%A1%B5
开发文档组织不太好,没有组成一个方便的入门体系,好几篇文章的内容有重叠,好几个内容分散在不同的文档里,应该仔细编排下。
列几个有用的文档。
- 创建应用的步骤 《 开发者创建管理应用流程Ver2.0新手引导 》
- Web网站接入的概述 《 Web网站接入 》
里面列出几种网站接入的方法,并给出相应的文档链接。
我试了OAuth2.0的接入方式,参见下面的文档。
- OAuth2.0文档 《 人人OAuth 2.0文档 》
该文档中涉及到其它几篇文档,完成OAuth授权步骤中的各个环节 。
大致分以下几步:
引导用户到登录授权界面
该步骤需要API Key和redirect_uri。并指定权限scope。
关于应用的API Key和API Secret,参看《开发者中心注册应用获取API Key》
关于callback url:redirect_uri验证配置
关于权限,参看《权限列表 》
获取Authorization Code
若出现错误,参看《错误相应》。同样,获取Access Token出现错误时,也参看这篇文档。
该步骤的详细说明,参看《获取Authorization_Code》
+----------+
| |
| End-User |
| |
+----------+
^
|
(B)
+----|-----+ Client Identifier +---------------+
| -+--(A)--- & Redirect URI ----->| |
| User- | | Authorization |
| Agent -|--(B)-- User authenticates -->| Server |
| | | |
| -+--(C)-- Authorization Code --<| |
+-|----|---+ +---------------+
(A) (C)
| |
^ v
+---------+
| |
| Client |
| |
+---------+使用Authorization Code获取Access Token
该步骤需要同时传递API Key和API Secret,支持多种传递方式,参看《Client Authenticated》
使用Access Token访问API
具体方法,参见《使用Access Token调用REST API》
人人开放平台REST API列表: //wiki.dev.renren.com/wiki/API
使用API需要计算签名,计算方法《签名算法》
刷新Access Token
使用Refresh Token刷新页面。
以上列出我看的几篇文档,组织较乱,不要介意了。
=============== 我是华丽的分割线 ==============
人人官方有PHP的SDK下载,地址: //wiki.dev.renren.com/wiki/Java-sdk-2.0
还有两个简单的例子。
PHP SDK共有四个文件,其中一个还是例子。之前看Google API SDK的PHP版本文件太多,不易阅读。人人的SDK源码好学习,结构不复杂。
我只看了下Google URL Shortener API的代码,觉得两者的区别在于,Google将API封装成类的方法,但人人没有将API封装成类,只能自己编写调用需要的参数。所以Google API解析调用的函数及其复杂,用JSON表示API的参数结构等信息,看源代码头大。人人则需要自己编写数组,调用RenrenRestApiService封装的post或get等方法,该类实际上就是的使用cURL的HttpRequest类。
我直接使用Google SDK中的apiHttpRequest 和 apiCurlIO类中的一部分代码,计算签名用人人SDK中的函数,写了一段小程序。但还应该向Google SDK学习,其中apiClient类、apiResourceRequest类和apiREST类都值得仔细研究,另外,应该把身份验证提取出来,如Google SDK的apiOAuth2类。不过,Google的体系实在太复杂,对于应用种类不多的人人API,确实不需要搞得这么复杂,简单才是美。
