最近看了下新浪微博开放平台的登陆授权部分,这里简单介绍下:
一、phpsdk的组成
1、 下载新浪微博的phpsdk,链接如下:http://libweibo.googlecode.com/files/weibo-oauth-class-with-image-avatar-06-29.zip
2、解压文件后你会看到6个文件:callback.php、config.php、index.php、weibolist.php、weibooauth.php以及.DS_Store这6个文件。
二、申请APPKEY
APPKEY是新浪微博开放平台对每个唯一的应用生成的,也就是一个应用对应一个APPKEY,当一个应用访问新浪微博的数据时,微博开放平台会验证从应用发起的request中是否拥有APPKEY和SECRETKEY,所以要想使用新浪微博开放平台你就必须有一个独立的域名,开放平台是根据你的域名进行生成的APPKEYHE SECRETKEY。
三、交互介绍
这里挖了一幅官方的交互图来简单介绍下:
这里我将结合sdk的代码进行介绍(真正的sdk为weibooauth.php文件,和微博交互的相关类都放在这个文件中,其余的文件都相当于demo):
1、index.php
$o = new WeiboOAuth( WB_AKEY , WB_SKEY );
$keys = $o->getRequestToken();
$aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , $_SERVER['SCRIPT_URI'].'/callback.php');
这两行代码对应上图中的(2)之前的部分,获取到的$aurl变量的值就是新浪授权的登陆页面的链接,而getAuthorizeURL方法的第三个参数的"./callback.php"就是你应用中的页面,当新浪微博平台完成APPKEY以及SECRETKEY的校验以及用户的用户名和密码校验之后就会跳转到你应用中的这个页面。
2、callback.php
1中已经有介绍此部分。
3、webolist.php
sdk中此部分就是在登陆授权成功后和微博平台进行数据交互的demo,比较重要的一个类就是WeiboClient,和微博进行数据交互的方法都在这个类中,比如获取用户的信息,获取用户发表的微博等等。
暂时就写到这里,交互的细则部分代码中很清楚。有兴趣的朋友直接猛点http://open.weibo.com/wiki/index.php/Oauth
sdk中有很好的demo很容易上手的。