怎么得到新浪每条微博详细页地址?
:userid/statuses/:id
跳转到单条微博的Web地址。可以通过此url跳转到微博对应的Web网页。
URL
http://api.t.sina.com.cn/:userid/statuses/:id.(json|xml)
支持格式
XML/JSON
HTTP请求方式
GET
是否需要登录
false
关于授权机制,参见授权机制声明
请求数限制
false
关于请求数限制,参见接口访问权限说明
请求参数
必选 | 类型及范围 | 说明 | |
---|---|---|---|
source | true | string | 申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。(采用OAuth授权方式不需要此参数) |
:userid | true | int64 | 微博消息的发布者ID |
:id | true | int64 | 微博消息的ID |
注意事项
URL示例:http://api.t.sina.com.cn/1773020834/statuses/456?source=appkey
调用示例
- XML
- curl -u "username:password" "http://api.t.sina.com.cn/:userid/statuses/:id?source=appkey"
- JSON
- curl -u "username:password" "http://api.t.sina.com.cn/:userid/statuses/:id?source=appkey"
返回结果
跳转到该微博的web页
其他
Java示例
请从 微博SDK开发包下载 下载Java SDK
代码示意如下:
package weibo4j.examples; import java.util.List; import weibo4j.Status; import weibo4j.Weibo; public class ForwardStatus { /** * 根据微博ID和用户ID跳转到单条微博页面 * @param args */ public static void main(String[] args) { System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY); System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET); try { List<Status> list = getWeibo(true,args).getUserTimeline(); if(list.size() > 0) { //args[2]:用户的id String url = "http://api.t.sina.com.cn/"+args[2]+"/statuses/"+list.get(0).getId(); //打开单条微博信息页面 Runtime.getRuntime().exec("cmd /c start "+url); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } private static Weibo getWeibo(boolean isOauth,String[] args) { Weibo weibo = new Weibo(); if(isOauth) {//oauth验证方式 args[0]:访问的token;args[1]:访问的密匙 weibo.setToken(args[0], args[1]); }else {//用户登录方式 weibo.setUserId(args[0]);//用户名/ID weibo.setPassword(args[1]);//密码 } return weibo; } }
PHP示例
请从 微博SDK开发包下载 处下载PHP SDK(支持OAuth验证之版本)
代码示例如下:
//user/statuses/id $c = new WeiboClient( WB_AKEY , WB_SKEY , $_SESSION['last_key']['oauth_token'] , $_SESSION['last_key']['oauth_token_secret'] ); $msg = $c->user_timeline(); if ($msg === false || $msg === null){ echo "Error occured"; return false; } if (count($msg)> 0){ $uid = 'User ID'; $sid = $msg[0]['id']; $msg = $c->get_comments_by_sid($sid); if ($msg === false || $msg === null){ echo "Error occured"; return false; } $url = "http://api.t.sina.com.cn/".$uid."/statuses/".$sid; //To achieve redirection, header() must be called before any actual output is sent, such as HTML tags header( 'Location:'.$url ); }