怎么得到新浪每条微博详细页地址?
怎么得到新浪每条微博详细页地址?
: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 );
}
黑苹果驱动之家
http://it360.org.cn
浙公网安备 33010602011771号