php zend framwork 连接人人网api

最近做一个网站连接人人网。api文档在人人网的人人应用“开发者”中有。

 

有具体步骤和example。

 

但还是遇到了几个api上解决不了的问题。

 

获得人人网用户数据分这几个步骤

1.跳转这个登入页面  https://graph.renren.com/oauth/authorize? client_id=YOUR_API_KEY&redirect_uri=YOUR_CALLBACK_URL&response_type=code&scope=read_user_album+read_user_feed

redirect_uri是用户登入后的返回的页面,也就是你的网页。

如果用户同意授权(点击连接),应用将会被授权。人人OAuth2.0会将用户的浏览器重定向(通过HTTP 302)到redirect_uri参数对应的URL上,并在Query中使用'code'参数返回一个Authorization Code。

2.下面的PHP示例代码简要展示了服务端流程,并考虑了CSRF攻击的防范工作:

 

 

 在用这段代码的时候我在框架上获取不到$token_url 上的数据,当在浏览器中输入 url  可以得到数据

原因是php 获取https 的问题

解决方法直接贴代码

 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL,$token_url);
 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 $result = curl_exec($ch);

输出result可以看到得到了用户的access_token

 

然后就和人人提供的example一样 通过用户的access_token 获取用户数据

 $rrObj = new RenrenRestApiService;
 
 $params = array('fields'=>'uid,name,sex,birthday,tinyurl,headurl,mainurl,hometown_location,university_history,email_hash',
     'access_token'=>$accesstoken);
 $res = $rrObj->rr_post_curl('users.getInfo', $params);

我在框架中new RenrenRestApiService时又遇到了问题,发现 RenrenRestApiService 无法初始话。

 

打开RenrenRestApiService.class.php  输出 __construct()里的_config 值为空,

 

原因是 $this->_config通过global $config 得到config.inc.php中的值

 

在框架中global $config不起作用了,不用框架就可以。原理希望有人能指教我。。

 

这是我比较傻的做法,直接在__construct里 给$this->_config 赋值就一切ok了

 

代码如下:

$this->_config->APIURL  = 'http://api.renren.com/restserver.do'; //RenRen网的API调用地址,不需要修改
$this->_config->APIKey  = '6f5ac1f416c3413394c562a1553aa004'; //你的API Key,请自行申请
$this->_config->SecretKey = 'b90d6181beec42058b1b7ff5b1844437'; //你的API 密钥
$this->_config->APIVersion = '1.0'; //当前API的版本号,不需要修改
$this->_config->decodeFormat = 'json'; //默认的返回格式,根据实际情况修改,支持:json,xml  

 

 

 

 

 第一次写博客,感觉思路不是很清晰、、大家见谅,希望能给大家帮助!!

 

转载于:https://www.cnblogs.com/kmbaby/archive/2012/10/04/2711554.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值