使用新浪微博开放平台api同步微博内容至自己网站(新浪微博短链接API开放,腾讯微博短地址API没有开放)

优采云 发布时间: 2021-11-01 20:10

  使用新浪微博开放平台api同步微博内容至自己网站(新浪微博短链接API开放,腾讯微博短地址API没有开放)

  在短地址(又称短链接、短地址等)方面,推特是经过发展后发展起来的,很多互联网网站都使用短地址。*敏*感*词*有很多,但稳定可靠。国内的比较靠谱。我不怕没有墙。几家外国公司已经遭遇悲剧。所以,如果在项目中使用短地址,我还是推荐使用新浪或者其他国内的短链接服务。

  新浪微博短链接API开放,但腾讯微博短地址API未开放。我想通过不同的路径获取腾讯微博的API,但以失败告终。新浪微博短地址API不需要用户登录,直接调用即可,速度非常快。以下代码取自网站,使用CURLPOST方法供参考。

  新浪微博短链接API文档在老版本的开发文档中,但新版本没有添加:

  function shortenSinaUrl($long_url){

$apiKey='1234567890';//这里是你申请的应用的API KEY,随便写个应用名就会自动分配给你

$apiUrl='http://api.t.sina.com.cn/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[0]->url_short;

}

function expandSinaUrl($short_url){

$apiKey='1234567890';//要修改这里的key再测试哦

$apiUrl='http://api.t.sina.com.cn/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[0]->url_long;

}

  参考新浪微博的开发文档,推荐使用get方式获取。代码更简单

  function shorturl($long_url){

$apiKey='1234567890';//要修改这里的key再测试哦

$apiUrl='http://api.t.sina.com.cn/short_url/shorten.json?source='.$apiKey.'&url_long='.$long_url;

$response = file_get_contents($apiUrl);

$json = json_decode($response);

return $json[0]->url_short;

}

function expandurl($short_url){

$apiKey='1234567890';//要修改这里的key再测试哦

$apiUrl='http://api.t.sina.com.cn/short_url/expand.json?source='.$apiKey.'&url_short='.$short_url;

$response = file_get_contents($apiUrl);

$json = json_decode($response);

return $json[0]->url_long;

}

  好,容易吗?

  调试上面代码的时候,需要填写自己的API key,不然肯定拿不到。

  特别说明:短地址服务现在只为经过认证的APP KEY提供服务,刚刚申请的APP KEY会提示没有权限。可以使用209678993和3818214747这两个KEY进行测试。这两个KEY的来源不明,不推荐用于生产。(感谢您的提醒)

  Jucelin 写了一个调试文档,你可以测试一下:

  长到短:://

  短到长::///S4bLBm

  参数只有2个,类型:1表示长转短,2表示短转长,后面的URL是目标域名,因为懒所以没有错误判断,新浪微博短地址不支持短地址和那么短地址是的,逻辑上应该是这样控制的。(不信你可以试试)。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线