邵珠庆の博客 生命只有一次,你可以用它来做些更多伟大的事情–Make the world a little better and easier

226月/1210

教你如何简单获取新浪微博短地址接口

 

短地址(也称短链接、缩短地址等)方面,在twitter发展之后就接着发展了起来,而且很多互联网网站都使用了短地址,国内国外都很多,但稳定和可靠性,还是国内的比较靠谱些,不怕没墙,国外几家已经悲剧了,所以如果项目中用到短地址,个人还是建议使用新浪或者其他国内的短链接服务。

新浪微博短链接API是开放的,而腾讯微博的短地址API没有开放,本想着通过不一样的路径获取腾讯微博的API的,最后还是以失败收场。新浪微博短地址API是不需要用户登录的,所以直接可以调用,而且速度很快,下面的代码是从网站找来的,用的是CURL POST的方法,可供参考。

新浪微博短链接API文档在旧版开发文档中,新版中暂未加入:http://open.weibo.com/wiki/Short_url/shorten

1 function shortenSinaUrl($long_url){
2 $apiKey='1234567890';//这里是你申请的应用的API KEY,随便写个应用名就会自动分配给你
3 $apiUrl='http://api.t.sina.com.cn/short_url/shorten.json?source='.$apiKey.'&url_long='.$long_url;
4 $curlObj = curl_init();
5 curl_setopt($curlObj, CURLOPT_URL, $apiUrl);
6 curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1);
7 curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0);
8 curl_setopt($curlObj, CURLOPT_HEADER, 0);
9 curl_setopt($curlObj, CURLOPT_HTTPHEADER, array('Content-type:application/json'));
10 $response = curl_exec($curlObj);
11 curl_close($curlObj);
12 $json = json_decode($response);
13 return $json[0]->url_short;
14 }
15  
16 function expandSinaUrl($short_url){
17 $apiKey='1234567890';//要修改这里的key再测试哦
18 $apiUrl='http://api.t.sina.com.cn/short_url/expand.json?source='.$apiKey.'&url_short='.$short_url;