调用新浪微博短址api代码 | 张大奋的个人it技术博客

我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

之前的一篇博客里有提到调用新浪微博api转短址,而我发现现在不少人都有使用新浪微博短链接口的需求。这对于老手来说自然是小菜一碟,但是初学者很可能在写该代码时花不少时间,所以我就把自己 写的代码分享出来供大家参考一下。
使用前请先在新浪微博开放平台上创建应用获取appid(但根据我的经验,未通过审核的应用的appid调用时会发生错误,原因是权限不够,不过别担心,去百度上搜一个能用的就行了)。
ps:本代码参考自jucelin(http://jucelin.com/)共享的旧版api调用代码,由于新版api改了不少地方,旧代码不能使用,所以本人修改后分享出来

< ?php
$backurl="";
if (isset($_get['type'])){
$type=$_get['type'];
switch (trim($type))
{
case 1:
if (isset($_get['url'])){
$backurl=shorturl(urlencode($_get['url'])); //注意必须经过urlencode
}
else{
$backurl="error0";
}
break;
case 2:
if (isset($_get['url'])){
$backurl=expandurl($_get['url']);
}
else{
$backurl="error1";
}
break;
default:
$backurl="error2";
}
}
echo $backurl;

function shortensinaurl($long_url){
$apikey='xxxxxxxxx'; //请替换成你的appid
$apiurl='https://api.weibo.com/2/short_url/shorten.json?source='.$apikey.'&url_long='.$long_url;
$curlobj = curl_init();
curl_setopt($curlobj, curlopt_url, $apiurl);
curl_setopt($curlobj, curlopt_returntransfer, 1);
curl_setopt($curlobj, curlopt_ssl_verifypeer, 0);
curl_setopt($curlobj, curlopt_header, 0);
curl_setopt($curlobj, curlopt_httpheader, array('content-type:application/json'));
$response = curl_exec($curlobj);
curl_close($curlobj);
$json = json_decode($response);
return $json->urls[0]->url_short;
}

function expandsinaurl($short_url){
$apikey=’xxxxxxxxx’; //请替换成你的appid
$apiurl=’https://api.weibo.com/2/short_url/expand.json?source=’.$apikey.’&url_short=’.$short_url;
$curlobj = curl_init();
curl_setopt($curlobj, curlopt_url, $apiurl);
curl_setopt($curlobj, curlopt_returntransfer, 1);
curl_setopt($curlobj, curlopt_ssl_verifypeer, 0);
curl_setopt($curlobj, curlopt_header, 0);
curl_setopt($curlobj, curlopt_httpheader, array(‘content-type:application/json’));
$response = curl_exec($curlobj);
curl_close($curlobj);
$json = json_decode($response);
return $json->urls[0]->url_long;
}

function shorturl($long_url){
$apikey=’xxxxxxxxx’; //请替换成你的appid
$apiurl=’https://api.weibo.com/2/short_url/shorten.json?source=’.$apikey.’&url_long=’.$long_url;
$response = file_get_contents($apiurl);
$json = json_decode($response);
return $json->urls[0]->url_short;
}

function expandurl($short_url){
$apikey=’xxxxxxxxx’; //请替换成你的appid
$apiurl=’https://api.weibo.com/2/short_url/expand.json?source=’.$apikey.’&url_short=’.$short_url;
$response = file_get_contents($apiurl);
$json = json_decode($response);
return $json->urls[0]->url_long;
}
?>

(若无特别注明, 张大奋的个人it技术博客 文章皆为原创,转载请注明出处)
原文链接: http://www.zhangdafen.com/archives/537

dafen @张大奋
最新发表
  • 【产品经理必读的九步法】
  • php中—memcache-2.2.4 中对key的转换
  • 整理的52个网站推广技巧分享
  • 婚姻不是我唯一想要的
  • 从史上八大mysql事故中学到的经验
扫描雷锋网微信二维码
下载雷锋网ios客户端

随意打赏

提交建议
微信扫一扫,分享给好友吧。