libern / zenapi
一个更好的OAuth2访问类,同时支持微博、QQ空间、腾讯微博、人人、百度、搜狐、开心、豆瓣、Google、Instagram、土豆、优酷、奇艺等社交网站
Installs: 22
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 13
pkg:composer/libern/zenapi
Requires
- php: >=5.4.0
 
This package is auto-updated.
Last update: 2025-10-09 05:38:07 UTC
README
通过一个统一风格的OAuth2访问库,统一各大社交网站接口。
安装方法
ZenAPI需要php5.3+,唯一的依赖是curl extension。
ZenAPI遵循PSR-4规范。只需在composer.json中添加依赖:
    ...
    "require": {
        ...
        "shen2/zenapi": "dev-master"
    }
    ...
然后
$ composer install
OAuth2类和授权流程
OAuht2类是包含了生成授权地址,获取token的方法。
- 跳转到社交网站的授权页
 
$config = array( 'akey' => 'app key', 'skey' => 'secret key', 'scope' => 'email,friendships_groups_read', ); $oauth = new ZenAPI\WeiboOAuth2($config['akey'], $config['skey']); //初始化oauth $params = array( 'client_id' => $config['akey'], 'redirect_uri' => 'callback',//设置回调 'response_type' => 'code', 'state' => 'made by md5 avoid crsf', 'display' => null, 'scope' => $config['scope'], 'forcelogin' => 0, //是否使用已登陆微博账号 ); $authorizeUrl = $oauth->authorizeURL() . "?" . http_build_query($params); header('Location : ' . $authorizeUrl);
- 获取access_token
 
//微博返回的code $keys = array( 'code' => $_REQUEST['code'], 'redirect_uri'=> '{{redirec_uri}}', ); //获取token $token = $oauth->getAccessToken('code', $keys);
Client类和API访问方法
- 首先用之前获得的access_token实例化一个Client对象
 - 然后就可以通过调用RESTful的方法,访问各种数据接口,如get()、post()、delete()
 
//根据上一步的acces_token实例化Client对象 $client = new ZenAPI\WeiboClient($token['access_token']); //根据uid获取用户信息 $info = $client->get('users/show', array('uid'=>1739476392)); //删除一条微博 $data = $client->post('comments/destory', array('uid'=>1739476392, 'cid' => 'weiboid'));
目前支持的社交网站
- 微博
 - 腾讯微博
 - 人人
 - 百度
 - 搜狐
 - 豆瓣
 - 开心
 - 多说
 - Github
 - 优酷
 - 土豆
 - 爱奇艺