本文整理汇总了PHP中SaeTClientV2类的典型用法代码示例。如果您正苦于以下问题:PHP SaeTClientV2类的具体用法?PHP SaeTClientV2怎么用?PHP SaeTClientV2使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SaeTClientV2类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: WB_callback
function WB_callback()
{
$o = new SaeTOAuthV2(WB_AKEY, WB_SKEY);
if (isset($_REQUEST['code'])) {
$keys = array();
$keys['code'] = $_REQUEST['code'];
// $login_type = getvaluebykey('login_type');
// $userid = getvaluebykey('userid');
// print_r($userid);exit;
// $headpic = getvaluebykey('headpic');
// $emailnum = getvaluebykey('emailnum');
$keys['redirect_uri'] = WB_CALLBACK_URL;
//.'?login_type='.$login_type.'_'.$userid.'_'.$headpic.'_'.$emailnum;
try {
$token = $o->getAccessToken('code', $keys);
//print_r($token);
} catch (OAuthException $e) {
}
}
if ($token) {
$_SESSION['token'] = $token;
$c1 = new SaeTClientV2(WB_AKEY, WB_SKEY, $token['access_token']);
$userinfo = $c1->show_user_by_id($token[uid]);
setcookie('weibojs_' . $o->client_id, http_build_query($token));
$cb_arr = array('access_token' => $token['access_token'], 'openid' => $token[uid], 'nick' => $userinfo['name']);
return $cb_arr;
}
}
示例2: callbackAction
function callbackAction()
{
$o = new SaeTOAuthV2(WB_AKEY, WB_SKEY);
$token = $this->getToken($o);
if ($token) {
$tokenNamespace = new Zend_Session_Namespace('token');
$tokenNamespace->token = $token;
setcookie('weibojs_' . $o->client_id, http_build_query($token));
$c = new SaeTClientV2(WB_AKEY, WB_SKEY, $token['access_token']);
$uid_get = $c->get_uid();
$uid = $uid_get['uid'];
$db = Zend_Registry::get('db');
$adapter = new WeiboLoginAuthAdapter($uid);
$auth = Zend_Auth::getInstance();
$result = $auth->authenticate($adapter);
$consumerModel = new Consumer();
$consumer_id = $db->fetchOne("SELECT id FROM consumer WHERE weiboid = :temp and state='ACTIVE'", array('temp' => $uid));
$consumer = $consumerModel->find($consumer_id)->current();
if ($result->isValid()) {
$authNamespace = new Zend_Session_Namespace('Zend_Auth');
$authNamespace->user = $consumer;
$authNamespace->role = 'consumer';
$logModel = new Log();
$logId = $logModel->insert(array('consumer_id' => $consumer->id, 'date' => date("Y-m-d H:i:s"), 'event' => 'LOGIN'));
// $this->_helper->redirector('index', 'home');
$this->_helper->redirector('index', 'tag');
} else {
$this->first();
}
}
}
示例3: actionReturn
function actionReturn()
{
$o = new \SaeTOAuthV2($this->app_key, $this->app_secret);
if ($_REQUEST['code']) {
$keys = array();
$keys['code'] = $_REQUEST['code'];
$keys['redirect_uri'] = $this->url;
try {
$token = $o->getAccessToken('code', $keys);
$access_token = $token['access_token'];
$c = new \SaeTClientV2($this->app_key, $this->app_secret, $access_token);
$uid_get = $c->get_uid();
$uid = $uid_get['uid'];
$me = $c->show_user_by_id($uid);
$me['name'] = $me['screen_name'];
$me['options'] = array('url' => $me['profile_url']);
$r = $this->member_get_third_set_user($me, $this->oauth_id, $access_token);
flash('success', __('login success'));
$this->redirect(return_url());
} catch (OAuthException $e) {
flash('error', __('login error'));
$this->redirect(return_url());
}
}
exit;
}
示例4: AuthCallback_sina
/**
* 此函数,供Callback处调用,如果返回false,认证失败,否则返回以下哈希表:
* last_key -> callback得到的last_key
* oauth_token -> 上述lastkey中的oauth_token
* oauth_token_secret -> 上述lastkey中的oauth_token_secret
* user_id -> 用户ID
* user_name -> 用户昵称
* user_email -> 暂不提供
*/
function AuthCallback_sina()
{
// 取得新浪Auth对象
$sinaappkey = $_SESSION['sinaappkey'];
$sinasecret = $_SESSION['sinasecret'];
$o = new SaeTOAuthV2($sinaappkey, $sinasecret);
if (isset($_REQUEST['code'])) {
$keys = array();
$keys['code'] = $_REQUEST['code'];
$keys['redirect_uri'] = $_SESSION['wb_callback_url'];
try {
$last_key = $o->getAccessToken('code', $keys);
} catch (OAuthException $e) {
}
}
if ($last_key) {
$rtn = array();
$rtn['last_key'] = $last_key;
$rtn['oauth_token'] = $keys['code'];
$rtn['oauth_token_secret'] = $last_key['access_token'];
$client = new SaeTClientV2($sinaappkey, $sinasecret, $last_key['access_token']);
$uid_get = $client->get_uid();
$rtn['user_id'] = $uid_get['uid'];
$user_message = $client->show_user_by_id($rtn['user_id']);
$rtn['user_name'] = $user_message['screen_name'];
return $rtn;
} else {
return $last_key;
}
}
示例5: weibocallback
public function weibocallback($code)
{
$cfg = K::$system->config->get('connect');
if (defined('IN_MOBILE')) {
$mobile = K::$system->config->get('mobile');
$callback = $mobile['url'] . '/' . K::M('helper/link')->mklink('passport:weibocallback');
} else {
$site = K::$system->config->get('site');
$callback = $site['siteurl'] . '/' . K::M('helper/link')->mklink('passport:weibocallback');
}
if (empty($cfg['weibo_is_open'])) {
$this->err->add('很抱歉网站管理员还未开启微博登录功能', 201);
return false;
}
$keys = array();
$keys['code'] = $code;
$keys['redirect_uri'] = $callback;
$o = new SaeTOAuthV2($cfg['weibo_app_id'], $cfg['weibo_app_key']);
try {
$token = $o->getAccessToken('code', $keys);
} catch (OAuthException $e) {
$this->err->add($e->getMessage(), 201);
return false;
}
$c = new SaeTClientV2($cfg['weibo_app_id'], $cfg['weibo_app_key'], $token['access_token']);
$ms = $c->home_timeline();
// done
$uid_get = $c->get_uid();
$uid = $uid_get['uid'];
$user_message = $c->show_user_by_id($uid);
//根据ID获取用户等基本信息
return $this->login($uid, $user_message);
}
示例6: callback
function callback()
{
$o = new SaeTOAuthV2(c('weibo_akey'), c('weibo_skey'));
if (isset($_REQUEST['code'])) {
$keys = array();
$keys['code'] = $_REQUEST['code'];
$keys['redirect_uri'] = 'http://' . c('site_domain') . '/?c=weibo&a=callback';
try {
$token = $o->getAccessToken('code', $keys);
} catch (OAuthException $e) {
}
$_SESSION['weibo_token'] = $token;
// get user info
$c = new SaeTClientV2(c('weibo_akey'), c('weibo_skey'), atoken());
$info = $c->show_user_by_id(wbuid());
if (strlen($info['name']) < 1) {
return info_page('登入失败,请去吃点零食后重试');
}
$_SESSION['weibo_uid'] = $info['name'];
$_SESSION['uname'] = $info['name'];
$_SESSION['avatar'] = $info['profile_image_url'];
//print_r( $_SESSION );
header("Location: /?a=index");
}
}
示例7: get_info
function get_info()
{
if ($this->dx_auth->is_logged_in()) {
echo "你已经登陆了";
} else {
$this->load->model('m_open');
session_start();
require_once APPPATH . 'libraries/weibo/config.php';
require_once APPPATH . 'libraries/weibo/saetv2.ex.class.php';
$o = new SaeTOAuthV2(WB_AKEY, WB_SKEY);
$o->set_debug(DEBUG_MODE);
if (isset($_REQUEST['code'])) {
$keys = array();
// 验证state
$state = $_REQUEST['state'];
if (empty($state) || $state !== $_SESSION['weibo_state']) {
echo '非法请求!';
exit;
}
unset($_SESSION['weibo_state']);
$keys['code'] = $_REQUEST['code'];
$keys['redirect_uri'] = WB_CALLBACK_URL;
try {
$token = $o->getAccessToken('code', $keys);
} catch (OAuthException $e) {
}
}
if ($token) {
$_SESSION['token'] = $token;
setcookie('weibojs_' . $o->client_id, http_build_query($token));
//echo "success";
$c = new SaeTClientV2(WB_AKEY, WB_SKEY, $_SESSION['token']['access_token']);
$c->set_debug(DEBUG_MODE);
$uid_get = $c->get_uid();
$uid = $uid_get['uid'];
if (!$uid) {
echo "error";
}
$user = $c->show_user_by_id($uid);
//根据ID获取用户等基本信息
//echo $user['screen_name'];
if ($this->m_open->is_id($uid)) {
$this->m_open->login($uid);
//echo "登陆";
//echo $uid;
//$c->update( "坑爹的api终于调好了");
redirect('line');
} else {
$this->m_open->register($user);
$this->m_open->create($user);
//echo $uid;
//echo "注册";
redirect('line');
}
} else {
echo "fail";
}
}
}
示例8: get_user_info
function get_user_info($config, $oauth_data)
{
$c = new SaeTClientV2($config['appid'], $config['appkey'], $oauth_data['oauth_openid']);
$get = $c->get_uid();
$m = $c->show_user_by_id($get['uid']);
//根据ID获取用户等基本信息
return array('name' => $m['name'], 'avatar' => $m['profile_image_url']);
}
示例9: callback
/**
* 授权回调地址
*/
public function callback()
{
if (empty($_GET['code'])) {
throw new Typecho_Exception(_t('无效请求!'));
}
//跳转
if (!class_exists('SaeTOAuthV2')) {
require_once './saetv2.ex.class.php';
}
$saeto_client = new SaeTOAuthV2($this->config->client_id, $this->config->client_secret);
//取access_token
$access_token = $saeto_client->getAccessToken('code', array('code' => trim($_GET['code']), 'redirect_uri' => $this->config->callback_url));
if (empty($access_token) || !is_array($access_token) || empty($access_token['uid'])) {
throw new Typecho_Exception(_t('获取access_token失败,请返回重新授权!'));
}
$table = $this->db->getPrefix() . self::$tableName;
$query = $this->db->query("SELECT * FROM {$table} WHERE openid='{$access_token['uid']}' AND plateform='sina'");
$users_oauth = $this->db->fetchRow($query);
if (!empty($users_oauth['uid'])) {
//该新浪帐号已经绑定了用户
if (Typecho_Widget::widget('Widget_User')->hasLogin()) {
/** 直接返回 */
$this->response->redirect(Typecho_Widget::widget('Widget_Options')->index);
} else {
//让其直接登陆
$this->setUserLogin($users_oauth['uid']);
if (!Typecho_Widget::widget('Widget_User')->pass('contributor', true)) {
/** 不允许普通用户直接跳转后台 */
$this->response->redirect(Typecho_Widget::widget('Widget_Options')->profileUrl);
} else {
$this->response->redirect(Typecho_Widget::widget('Widget_Options')->adminUrl);
}
}
exit;
}
//该新浪帐号未绑定过
/** 如果已经登录 */
if (Typecho_Widget::widget('Widget_User')->hasLogin()) {
/** 直接绑定 */
$cookieUid = Typecho_Cookie::get('__typecho_uid');
$this->bindOauthUser($cookieUid, $access_token['uid'], 'sina', $access_token['expires_in']);
$this->response->redirect(Typecho_Widget::widget('Widget_Options')->index);
} else {
//取用户信息
$saetc_client = new SaeTClientV2($this->config->client_id, $this->config->client_secret, $access_token['access_token']);
$weibo_user = $saetc_client->show_user_by_id($access_token['uid']);
//创建用户
$uid = $this->registerFromWeiboUser($weibo_user);
if (!$uid) {
throw new Typecho_Exception(_t('创建帐号失败,请联系管理员!'));
}
$this->setUserLogin($uid);
$this->bindOauthUser($uid, $access_token['uid'], 'sina', $access_token['expires_in']);
$this->response->redirect(Typecho_Widget::widget('Widget_Options')->profileUrl);
}
//构造用户帐号
exit;
}
示例10: follow
/**
* 关注
*/
public function follow($bind_user, $uid)
{
$info = unserialize($bind_user['info']);
$client = new SaeTClientV2($this->setting['app_key'], $this->setting['app_secret'], $info['access_token']);
try {
return $client->follow_by_id($uid);
} catch (Exception $e) {
}
}
示例11: getUserName
private function getUserName()
{
$c = new SaeTClientV2(WB_AKEY, WB_SKEY, $_SESSION['token']['access_token']);
$ms = $c->home_timeline();
$uid_get = $c->get_uid();
$uid = $uid_get['uid'];
$user_message = $c->show_user_by_id($uid);
return $user_message['screen_name'];
}
示例12: getUser
/**
* 獲取用戶信息
* @param type $access_token
* @return type
* Array ( [id] => 3767777785 [idstr] => 3767777785 [class] => 1
* [screen_name] => soqugame [name] => soqugame
* [province] => 11 [city] => 1 [location] => 北京 东城区 [description] => [url] =>
* [profile_image_url] => http://tp2.sinaimg.cn/3767777785/50/0/1
* [profile_url] => u/3767777785 [domain] => [weihao] => [gender] => m [followers_count] => 3 [friends_count] => 18 [statuses_count] => 0 [favourites_count] => 0 [created_at] => Tue Sep 03 16:48:05 +0800 2013 [following] => [allow_all_act_msg] => [geo_enabled] => 1 [verified] => 1 [verified_type] => 2 [remark] => [ptype] => 0 [allow_all_comment] => 1 [avatar_large] => http://tp2.sinaimg.cn/3767777785/180/0/1 [avatar_hd] => http://tp2.sinaimg.cn/3767777785/180/0/1 [verified_reason] => 上海搜趣广告有限公司 [follow_me] => [online_status] => 0 [bi_followers_count] => 0 [lang] => zh-cn [star] => 0 [mbtype] => 0 [mbrank] => 0 [block_word] => 0 )
*/
public function getUser($access_token)
{
$c = new SaeTClientV2($this->_params['WB_AKEY'], $this->_params['WB_SKEY'], $access_token);
$ms = $c->home_timeline();
// done
$uid_get = $c->get_uid();
$uid = $uid_get['uid'];
$user_message = $c->show_user_by_id($uid);
//根据ID获取用户等基本信息
return $user_message;
}
示例13: send2wbto
function send2wbto($content)
{
$c = new SaeTClientV2(WB_AKEY, WB_SKEY, file_get_contents("../include/weibo/token.txt"));
$ret = $c->update($content);
//发送微博
if (isset($ret['error_code']) && $ret['error_code'] > 0) {
echo "<p>发送失败,错误:{$ret['error_code']}:{$ret['error']}</p>";
} else {
echo "<p>发送成功</p>";
}
}
示例14: getUserInfo
function getUserInfo()
{
require_once dirname(__FILE__) . "/API/saetv2.ex.class.php";
$token = ISession::get('token');
$c = new SaeTClientV2(ISession::get('apiKey'), ISession::get('apiSecret'), $token['access_token']);
$ms = $c->home_timeline();
$uid_get = $c->get_uid();
$uid = $uid_get['uid'];
$user_message = $c->show_user_by_id($uid);
$userInfo = array();
$userInfo['id'] = $uid;
$userInfo['name'] = isset($user_message['screen_name']) ? $user_message['screen_name'] : '';
return $userInfo;
}
示例15: wbcallback
public function wbcallback()
{
Vendor('Weibo.saetv2#ex#class');
$o = new \SaeTOAuthV2(C('weibo.wb_akey'), C('weibo.wb_skey'));
if (isset($_REQUEST['code'])) {
$keys = array();
$keys['code'] = $this->_request('code');
$keys['redirect_uri'] = C('weibo.wb_callback_url');
try {
$token = $o->getAccessToken('code', $keys);
} catch (OAuthException $e) {
}
}
if ($token) {
// 获取用户信息
$c = new SaeTClientV2(C('weibo.wb_akey'), C('weibo.wb_skey'), $token['access_token']);
// $ms = $c->home_timeline(); // done
$uid_get = $c->get_uid();
$uid = $uid_get['uid'];
$uinfo = $c->show_user_by_id($uid);
//根据ID获取用户等基本信息
// 查询是否已经绑定
$this->user_model = D('user');
$user = $this->user_model->field('id,email,password')->where(array('wb_token' => $token['access_token'], 'wb_openid' => $uid))->find();
// echo $this->user_model->getLastSql();
if ($user['id'] > 0) {
// 登录用户
if ($this->user_model->login($user['id'], $user['email'], $user['password'])) {
//TODO:跳转到登录前页面
$this->success('登录成功!', session('rebackurl'));
} else {
$this->error($model->getError());
}
} else {
session('avatar', $uinfo['avatar_hd']);
session('openid', $uinfo['id']);
session('token', $token['access_token']);
session('uname', $uinfo['screen_name']);
session('oatype', 'wb_');
//print_r($uinfo);
$this->redirect('join');
}
} else {
$this->error('授权失败。');
}
}