oschina openapi php 调用

WBOY
发布: 2016-06-23 13:40:35
原创
835 人浏览过

应用时基于yii的。目前流程如下:

生成oschina授权链接

用户访问该链接之后得到 code

利用code换取access_token

代码:

<?php/** * @author xialei <xialeistudio@gmail.com> */class OschinaOauth extends CComponent{ public $ak; public $sk; public $callback; private $host = 'https://www.oschina.net'; public function init() { } /**  * 获取授权链接  * @return string  */ public function getRedirectUrl() {  $params = array(    'response_type' => 'code',    'client_id' => $this->ak,    'redirect_uri' => Yii::app()->createAbsoluteUrl($this->callback)  );  return $this->host . '/action/oauth2/authorize?' . http_build_query($params); } /**  * 获取AccessToken  * @param $code  * @return string  * @throws CException  * @throws Exception  */ public function getAccessToken($code) {  $params = array(    'client_id' => $this->ak,    'client_secret' => $this->sk,    'grant_type' => 'authorization_code',    'code' => $code,    'dataType' => 'json'  );  $url = $this->host . '/action/openapi/token';  $resp = Request::post($url, $params);  $data = json_decode($resp,true);  return $data; } public function refreshAccessToken() { }}
登录后复制
<?php/** * @author xialei <xialeistudio@gmail.com> */class OauthController extends Controller{ public function actionCallback($code, $state) {  $data = Yii::app()->oauth->getAccessToken($code);  print_r($data); } public function actionRedirect() {  $url = Yii::app()->oauth->getRedirectUrl();  $this->redirect($url); }}
登录后复制

目前的问题是可以得到 code,但是利用code去oschina获取access_token的时候报错了。

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!