没什么好讲了,重要的地方我都在代码中注释了,主要是APP_KEY,这个需要你自己去新浪的开放平台申请,地址:http://open.t.sina.com.cn/ 。注册后随便添加个app就可以得到key了(在没有APP_KEY的情况下你也可以通过oAuth认证方式实现)。
下面是PHP的调用代码:
1 |
<?php |
2 |
//Sina App_Key |
3 |
define( 'SINA_APPKEY' , '你的App_Key' );
|
4 |
5 |
function curlQuery( $url ) {
|
6 |
//设置附加HTTP头
|
7 |
$addHead = array (
|
8 |
"Content-type: application/json"
|
9 |
);
|
10 |
11 |
//初始化curl,当然,你也可以用fsockopen代替
|
12 |
$curl_obj = curl_init();
|
13 |
14 |
//设置网址
|
15 |
curl_setopt( $curl_obj , CURLOPT_URL, $url );
|
16 |
17 |
//附加Head内容
|
18 |
curl_setopt( $curl_obj , CURLOPT_HTTPHEADER, $addHead );
|
19 |
20 |
//是否输出返回头信息
|
21 |
curl_setopt( $curl_obj , CURLOPT_HEADER, 0);
|
22 |
23 |
//将curl_exec的结果返回
|
24 |
curl_setopt( $curl_obj , CURLOPT_RETURNTRANSFER, 1);
|
25 |
26 |
//设置超时时间
|
27 |
curl_setopt( $curl_obj , CURLOPT_TIMEOUT, 15);
|
28 |
29 |
//执行
|
30 |
$result = curl_exec( $curl_obj );
|
31 |
32 |
//关闭curl回话
|
33 |
curl_close( $curl_obj );
|
34 |
35 |
return $result ;
|
36 |
} |
37 |
38 |
//简单处理下url,sina对于没有协议(http://)开头的和不规范的地址会返回错误 |
39 |
function filterUrl( $url = '' ) {
|
40 |
$url = trim( strtolower ( $url ));
|
41 |
$url = trim(preg_replace( '/^http:\/\//' , '' , $url ));
|
42 |
if ( $url == '' )
|
43 |
return false;
|
44 |
else
|
45 |
return urlencode( 'http://' . $url );
|
46 |
} |
47 |
48 |
//根据长网址获取短网址 |
49 |
function sinaShortenUrl( $long_url ) {
|
50 |
//拼接请求地址,此地址你可以在官方的文档中查看到
|
51 |
$url = 'http://api.t.sina.com.cn/short_url/shorten.json?source=' . SINA_APPKEY . '&url_long=' . $long_url ;
|
52 |
53 |
//获取请求结果
|
54 |
$result = curlQuery( $url );
|
55 |
56 |
//下面这行注释用于调试,你可以把注释去掉看看从sina返回的信息是什么东西
|
57 |
//print_r($result);exit();
|
58 |
59 |
//解析json
|
60 |
$json = json_decode( $result );
|
61 |
62 |
//异常情况返回false
|
63 |
if (isset( $json ->error) || !isset( $json [0]->url_short) || $json [0]->url_short == '' )
|
64 |
return false;
|
65 |
else
|
66 |
return $json [0]->url_short;
|
67 |
} |
68 |
69 |
//根据短网址获取长网址,此函数重用了不少sinaShortenUrl中的代码,以方便你阅读对比,你可以自行合并两个函数 |
70 |
function sinaExpandUrl( $short_url ) {
|
71 |
//拼接请求地址,此地址你可以在官方的文档中查看到
|
72 |
$url = 'http://api.t.sina.com.cn/short_url/expand.json?source=' . SINA_APPKEY . '&url_short=' . $short_url ;
|
73 |
74 |
//获取请求结果
|
75 |
$result = curlQuery( $url );
|
76 |
77 |
//下面这行注释用于调试,你可以把注释去掉看看从sina返回的信息是什么东西
|
78 |
//print_r($result);exit();
|
79 |
80 |
//解析json
|
81 |
$json = json_decode( $result );
|
82 |
83 |
//异常情况返回false
|
84 |
if (isset( $json ->error) || !isset( $json [0]->url_long) || $json [0]->url_long == '' )
|
85 |
return false;
|
86 |
else
|
87 |
return $json [0]->url_long;
|
88 |
} |
89 |
90 |
//要缩短的网址 |
91 |
$url = 'http://www.xingdonghai.cn' ;
|
92 |
93 |
$url = filterUrl( $url );
|
94 |
$short = sinaShortenUrl( $url );
|
95 |
$ulong = sinaExpandUrl( $short );
|
96 |
echo "源网址:{$ulong}<br />短网址:{$short}" ;
|
97 |
?> |
最后附官方API文档地址:
关于短网址的一些API:http://t.cn/hd5b1z
shorten:http://t.cn/hd5GxC
expand:http://t.cn/hd5Gl3
http://www.xingdonghai.cn/php-sina-short-url-api-json/
相关推荐
本文实例讲述了PHP通过调用新浪API生成t.cn格式短网址链接的方法。分享给大家供大家参考,具体如下: 新浪提供了长链接转为短链接的API,可以把长链接转为 t.cn/xxx 这种格式的短链接。 API: ...
简单的新浪股票API调用
本文实例讲述了php调用新浪短链接API的方法。分享给大家供大家参考。具体方法如下: 复制代码 代码如下:<?php //Sina App_Key define(‘SINA_APPKEY’, ‘31641035’); function curlQuery($url) { //设置附加...
php新浪微博转发,发布微博apiSDK,里面有调用范例
调用新浪微博API的代码整体有五部分,主代码是weibolist.php。通过相关配置,执行完代码之后,就会导出你粉丝所关注的所有人列表、你粉丝的粉丝列表等等。
调用新浪微博API的代码整体有五部分,主代码是weibolist.php。通过相关配置,执行完代码之后,就会导出你粉丝所关注的所有人列表、你粉丝的粉丝列表等等。
1.入口文件:index.php,默认调用base -> index,载入选择网站界面 2.自动加载class下的类文件,加载规则:以类名 + ".class.php"寻找文件 3./class/下,文件名中含有If的文件,定义的是接口.总计3个接口文件:各个网站的...
功能:1,获取当前IP地址,2,调用新浪API,获取到当前城市。3,将中文转换为拼音后跳转。 复制代码 代码如下:<?php include ‘./pinyin.php’; //获取当前ipfunction getIp(){ $onlineip=”; if(getenv(...
调用新浪微博API的代码整体有五部分,主代码是weibolist.php。通过相关配置,执行完代码之后,就会导出你粉丝所关注的所有人列表、你粉丝的粉丝列表等等。
调用新浪微博API的代码整体有五部分,主代码是weibolist.php。通过相关配置,执行完代码之后,就会导出你粉丝所关注的所有人列表、你粉丝的粉丝列表等等。
调用新浪微博API的代码整体有五部分,主代码是weibolist.php。通过相关配置,执行完代码之后,就会导出你粉丝所关注的所有人列表、你粉丝的粉丝列表等等。
天气预报查询接口API,在这里我使用的是国家气象局天气预报接口 使用较多的还有:新浪天气预报接口、百度天气预报接口、google天气接口、Yahoo天气接口等等。 1、查询方式 根据地名查询各城市天气情况 2.请求URL地址...
本文实例讲述了php生成短网址/短链接原理和用法。分享给大家供大家参考,具体如下: 需求 在我们的项目当中,如果需要更好传播我们的活动链接,但是链接太长1来是不美观,2来是太过于“笨重”,例如拼多多,淘宝联盟...
新浪SAE免费php空间申请地址:http://sae.sina.com.cn/activity/invite/101149/weibo 新浪SAE免费php空间注册功略:http://hbwanghai.blog.163.com/blog/static/199297147201222310226519/ 优点 1.不用购买独立空间/...
CI辅助函数 PHP自动获取用户地理位置信息的函数 支持淘宝, 新浪等多...调用新浪API查询IP地理位置 <?php echo getIpLocation('sina'); ?> 调用pconline API查询IP地理位置 <?php echo getIpLocation('pconline'); ?>
成功获取到access_token之后就可以调用相应平台的API了,调用方法比较简单,只需要调用$sdk->call($api, $param, $method)方法就可以了,其中:$api为接口名称,$param为接口参数(格式:name1=value1&name2=value2...
新浪微博SDK for .Net 4.0第二版源码 项目描述 第二版SDK的一些新特性: 采用了新浪官方主推的OAuth2.0进行授权和认证 所有接口都升级到了官方V2版的API,也就是说可以用官方V2版的API机型操作了 参考了官方PHP版的...
Xweibo v2.1 beta版具有Xweibo v2.0 正式版拥有新浪微博的核心功能,具备微博发布、浏览、转发、评论、收藏、话题、黑名单等核心功能以外,还满足更多运营需求:数据本地备份、设置网站粉丝/关注关系从零开始或继续...