Statuses/update
(→Java示例) |
(→PHP示例) |
||
第151行: | 第151行: | ||
} | } | ||
====PHP示例==== | ====PHP示例==== | ||
+ | 请从 [[SDK | 微博SDK开发包下载]] 处下载PHP SDK(支持OAuth验证之版本)<br> | ||
+ | 代码示例如下: | ||
<pre> | <pre> | ||
//Statuses/update | //Statuses/update | ||
− | $c = new WeiboClient( WB_AKEY , WB_SKEY , $_SESSION['last_key']['oauth_token'] , $_SESSION['last_key']['oauth_token_secret'] ); | + | $c = new WeiboClient( WB_AKEY , |
+ | WB_SKEY , | ||
+ | $_SESSION['last_key']['oauth_token'] , | ||
+ | $_SESSION['last_key']['oauth_token_secret'] ); | ||
+ | |||
$msg = $c->update("测试发表微博"); | $msg = $c->update("测试发表微博"); | ||
if ($msg === false || $msg === null){ | if ($msg === false || $msg === null){ |
2010年8月4日 (三) 15:09的版本
目录 |
statuses/update
发布一条微博信息。请求必须用POST方式提交。为防止重复,发布的信息与当前最新信息一样话,将会被忽略。
URL
http://api.t.sina.com.cn/statuses/update.format
格式
xml, json
HTTP请求方式
POST
是否需要身份验证
true
请求数限制
true
请求参数
- status. 必填参数, 要更新的微博信息。必须做URLEncode,信息内容部超过140个汉字,为空返回400错误。
- in_reply_to_status_id. 可选参数,@ 需要回复的微博信息ID, 这个参数只有在微博内容以 @username 开头才有意义。(即将推出)。
- lat. 可选参数,纬度,发表当前微博所在的地理位置,有效范围 -90.0到+90.0, +表示北纬。只有用户设置中geo_enabled=true时候地理位置才有效。(仅对受邀请的合作开发者开放)
- long. 可选参数,经度。有效范围-180.0到+180.0, +表示东经。(仅对受邀请的合作开发者开放)
使用说明
- 如果没有登录或超过发布上限,将返回403错误
- 如果in_reply_to_status_id不存在,将返回500错误
- 系统将忽略重复发布的信息。每次发布将比较最后一条发布消息,如果一样将被忽略。因此用户不能连续提交相同信息。
返回结果
注意geo信息仅对有地理位置的微博才有返回 XML示例:
<?xml version="1.0" encoding="UTF-8"?> <status> <created_at>Tue Dec 15 13:08:23 +0800 2009</created_at> <id>2</id> <text>莱斯科特头上有个月牙型的伤疤,要是他去扮演包公的话可以省去一笔包装费</text> <source> <a href="http://t.sina.com.cn">Web</a> </source> <favorited>false</favorited> <truncated>false</truncated> <geo xmlns:georss="http://www.georss.org/georss"> <georss:point>23.12 -122.39697</georss:point> </geo> <in_reply_to_status_id></in_reply_to_status_id> <in_reply_to_user_id></in_reply_to_user_id> <in_reply_to_screen_name></in_reply_to_screen_name> <user> <id>135272</id> <screen_name>bbb</screen_name> <name>ddd</name> <province>13</province> <city>1000</city> <location>河北</location> <description>巾帼不让傻须眉。</description> <url>http://blog.sina.com.cn</url> <profile_image_url>http://tp4.sinaimg.cn/1352721827/50/1265540250</profile_image_url> <domain>maplelee0723</domain> <gender>f</gender> <followers_count>52</followers_count> <friends_count>23</friends_count> <statuses_count>54</statuses_count> <favourites_count>0</favourites_count> <created_at>Tue Jan 26 00:00:00 +0800 2010</created_at> <following>false</following> <verified>false</verified> <allow_all_act_msg>false</allow_all_act_msg> <geo_enabled>false</geo_enabled> </user> </status>
JSON示例:
{"created_at":"Wed Jan 06 19:38:33 +0800 2010", "id":142280, "text":"111111111111111111111", "source":"<a id=\"0\" href=\"http://t.sina.com.cn/\" rel=\"nofollow\">Web</a>", "favorited":false, "truncated":false, "in_reply_to_status_id":"", "in_reply_to_user_id":"", "in_reply_to_screen_name":"", "geo":{"type": "Point","coordinates": [23.12 -122.39697]}, "user":{"id":11057, "screen_name":"name_11057", "name":"name_11057", "province":"0", "city":"0", "location":"", "description":"", "url":"", "profile_image_url":"http://tp2.sinaimg.cn/11057/50/0", "domain":"11057", "followers_count":19, "friends_count":101, "statuses_count":0, "favourites_count":3, "created_at":"Thu Jan 01 08:00:00 +0800 1970", "following":false, "geo_enabled":false, "verified":false} }
使用示例
- xml:
curl -u uid:password -d "source=appkey&status=playing with cURL and the Sina API" http://api.t.sina.com.cn/statuses/update.xml
- json:
curl -u uid:password -d "source=appkey&status=playing with cURL and the Sina API" http://api.t.sina.com.cn/statuses/update.json
Java示例
请从 微博SDK开发包下载 下载Java SDK
代码示意如下:
package weibo4j.examples; import weibo4j.Status; import weibo4j.Weibo; public class UpdateStatus { /** * 发布一条微博信息 * @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 { Weibo weibo = getWeibo(true,args); Status status = weibo.updateStatus("测试发表微博"); System.out.println(status.getId() + " : "+ status.getText()+" "+status.getCreatedAt()); } catch (Exception e) { 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验证之版本)
代码示例如下:
//Statuses/update $c = new WeiboClient( WB_AKEY , WB_SKEY , $_SESSION['last_key']['oauth_token'] , $_SESSION['last_key']['oauth_token_secret'] ); $msg = $c->update("测试发表微博"); if ($msg === false || $msg === null){ echo "Error occured"; return false; } if (isset($msg['error_code']) && isset($msg['error'])){ echo ('Error_code: '.$msg['error_code'].'; Error: '.$msg['error'] ); return false; } echo($msg['id']." : ".$msg['text']." ".$msg["created_at"]);