集成各大开放平台的用户登录及接口调用SDK(含DEMO)

浏览:59494 最后更新:2016-09-09 15:43 分类:类库 关键字: 开放API SDK
本SDK工具包将持续更新,使用的过程中遇到问题可以在下面直接评论。你也可以加入ThinkPHP官方扩展讨论群:82449469讨论交流
github下载地址:https://github.com/Aoiujz/ThinkSDK
[更新日志]
2013-04-10 16:00 修改了call方法和http方法,支持了腾讯微博和新浪微博的上传图片功能,调用相关API时call方法的第四个参数传递为true即可
2013-03-27 15:30 添加了百度,开心网和搜狐SDK及DEMO
2013-03-17 00:00 修复了SDK基类的语法错误及Exception拼写错误
2013-03-13 16:30 添加了淘宝SDK,解决了低版本PHP抽象方法call报错的BUG。
2013-03-13 09:30 内部测试完成,发布第一个版本供大家测试。

SDK简介

本SDK是基于ThinkPHP开发类库扩展,因此只能在ThinkPHP平台下使用(ThinkPHP版本要求2.0以上)。DEMO中用到了控制器分层,因此运行DEMO需使用ThinkPHP3.1.2版本。
注:如果要在其他平台使用,只需要修改配置获取方式即可。

目前支持的平台

目前可用登录平台为:腾讯QQ,腾讯微博,新浪微博,网易微博,人人网,360,豆瓣,Github,Google,MSN,点点,淘宝网,百度,开心网,搜狐。

包含的文件

ThinkSDK/ThinkOauth.class.php //SDK基类,主要用于Oauth的认证,所有平台的SDK均需要继承此类
ThinkSDK/sdk/DiandianSDK.class.php //(点点SDK)
ThinkSDK/sdk/DoubanSDK.class.php //(豆瓣SDK)
ThinkSDK/sdk/GithubSDK.class.php //(Github SDK)
ThinkSDK/sdk/GoogleSDK.class.php //(Google SDK)
ThinkSDK/sdk/MsnSDK.class.php //(MSN SDK)
ThinkSDK/sdk/QqSDK.class.php //(腾讯QQ SDK)
ThinkSDK/sdk/RenrenSDK.class.php //(人人网SDK)
ThinkSDK/sdk/SinaSDK.class.php //(新浪微博SDK)
ThinkSDK/sdk/T163SDK.class.php //(网易微博SDK)
ThinkSDK/sdk/TaobaoSDK.class.php //(淘宝网SDK)
ThinkSDK/sdk/TencentSDK.class.php //(腾讯微博SDK)
ThinkSDK/sdk/X360SDK.class.php //(360 SDK)
ThinkSDK/sdk/BaiduSDK.class.php (百度SDK)    
ThinkSDK/sdk/KaixinSDK.class.php (开心网SDK)    
ThinkSDK/sdk/SohuSDK.class.php (搜狐SDK)

配置格式

SDK的配置格式如下(可参考DEMO中的配置)//将一下(TYPE)换成你对应的SDK类型
'THINK_SDK_(TYPE)' => array(
    'APP_KEY'    => '', //应用注册成功后分配的 APP ID
    'APP_SECRET' => '', //应用注册成功后分配的KEY
    'CALLBACK'   => '', //注册应用填写的callback
)

接入登录方法

添加ThinkPHP扩展,将整个ThinkSDK目录放入到ThinkPHP的扩展目录下~Extend/Library/ORG/~。
添加SDK配置,按以上配置格式在项目配置中添加对应的SDK配置。(可参考DEMO中的配置文件)
跳转到授权页面(可参考DEMO中的Index/login方法)import("ORG.ThinkSDK.ThinkOauth")//导入SDK基类
$sdk=ThinkOauth::getInstance($type)//获取SDK实例
redirect($sdk->getRequestCodeURL())//跳转到授权页面
获取access_token(可参考DEMO中的Index/callback方法)$sdk->getAccessToken($code, $extend)  //在授权成功的回调页面中获取access_token。

调用API方法

成功获取到access_token之后就可以调用相应平台的API了,调用方法比较简单,只需要调用$sdk->call($api, $param, $method)方法就可以了,其中:$api为接口名称,$param为接口参数(格式:name1=value1&name2=value2), $method为请求方法(GET或POST)。
例如:import("ORG.ThinkSDK.ThinkOauth"); //导入SDK基类
$qq   = ThinkOauth::getInstance('qq', $token); //实例化腾讯QQ开放平台对象 $token 参数为授权成功后获取到的 $token
$data = $qq->call('user/get_user_info'); //调用接口 
评论( 相关
后面还有条评论,点击查看>>