人人开放平台API网站接入的简单使用

目录

人人的API开放平台:

//dev.renren.com/ 
开发文档首页: //wiki.dev.renren.com/wiki/%E9%A6%96%E9%A1%B5 
开发文档组织不太好,没有组成一个方便的入门体系,好几篇文章的内容有重叠,好几个内容分散在不同的文档里,应该仔细编排下。
列几个有用的文档。
1. 创建应用的步骤 《 开发者创建管理应用流程Ver2.0新手引导
2. Web网站接入的概述 《 Web网站接入

里面列出几种网站接入的方法,并给出相应的文档链接。

我试了OAuth2.0的接入方式,参见下面的文档。

  1. 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,确实不需要搞得这么复杂,简单才是美。