Account/update notice

跳转到: 导航, 搜索
(返回结果)
(account/update_notice)
第34行: 第34行:
 
* json:
 
* json:
 
curl -u uid:password -F "pic=@aaa.jpg" -F "source=appkey" -F "status=abaaaa" http://api.t.sina.com.cn/statuses/upload.json
 
curl -u uid:password -F "pic=@aaa.jpg" -F "source=appkey" -F "status=abaaaa" http://api.t.sina.com.cn/statuses/upload.json
 
====PHP示例====
 
请从 [[SDK | 微博SDK开发包下载]] 处下载PHP SDK(支持OAuth验证之版本)<br>
 
代码示例如下:
 
<?php
 
$boundary = uniqid('------------------');
 
$MPboundary = '--'.$boundary;
 
$endMPboundary = $MPboundary. '--';
 
 
// 需要上传的图片所在路径
 
$filename = '/tmp/wiki.png';
 
$file = file_get_contents($filename);
 
 
$multipartbody .= $MPboundary . "\r\n";
 
$multipartbody .= 'Content-Disposition: form-data; name="pic"; filename="wiki.png"'. "\r\n";
 
$multipartbody .= 'Content-Type: image/png'. "\r\n\r\n";
 
$multipartbody .= $file. "\r\n";
 
 
$k = "source";
 
// 这里改成 appkey
 
$v = "appkey";
 
$multipartbody .= $MPboundary . "\r\n";
 
$multipartbody.='content-disposition: form-data; name="'.$k."\"\r\n\r\n";
 
$multipartbody.=$v."\r\n";
 
 
$k = "status";
 
$v = "要上传的文件,这里是描述文字";
 
$multipartbody .= $MPboundary . "\r\n";
 
$multipartbody.='content-disposition: form-data; name="'.$k."\"\r\n\r\n";
 
$multipartbody.=$v."\r\n";
 
$multipartbody .= "\r\n". $endMPboundary;
 
 
$ch = curl_init();
 
curl_setopt($ch, CURLOPT_URL, 'http://api.t.sina.com.cn/statuses/upload.xml' );
 
curl_setopt($ch , CURLOPT_POST, 1);
 
curl_setopt($ch, CURLOPT_POSTFIELDS,$multipartbody );
 
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: multipart/form-data; boundary=$boundary"));
 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 
// 修改成当前用户名及密码
 
curl_setopt($ch, CURLOPT_USERPWD, "username:password");
 
$msg = curl_exec($ch);
 
//echo $multipartbody;
 
echo 'ok.';
 
?>
 
 
====Java示例====
 
请从 [[SDK | 微博SDK开发包下载]] 下载Java SDK
 
参看 examples/OauthUpload.java, 运行 java OauthUpload accesstoken accesstoken_secret filepath
 
代码示意如下
 
 
        public static void main(String[] args) {
 
try {
 
System.setProperty("twitter4j.oauth.consumerKey", Twitter.CONSUMER_KEY);
 
System.setProperty("twitter4j.oauth.consumerSecret", Twitter.CONSUMER_SECRET);
 
Twitter twitter = new Twitter();
 
// you can get access token and access token secret returned from OAuthUpdate.java
 
twitter.setToken(args[0], args[1]);
 
 
try {
 
byte[] content = readFileImage(args[2]);
 
System.out.println("content length:" + content.length);
 
ImageItem pic = new ImageItem("pic", content);
 
Status status = twitter.uploadStatus("测试文字", pic);
 
 
System.out.println("Successfully upload the status to ["
 
+ status.getText() + "].");
 
} catch (Exception e1) {
 
// TODO Auto-generated catch block
 
e1.printStackTrace();
 
}
 
} catch (Exception ioe) {
 
System.out.println("Failed to read the system input.");
 
}
 
}
 
 
public static byte[] readFileImage(String filename) throws IOException {
 
BufferedInputStream bufferedInputStream = new BufferedInputStream(
 
new FileInputStream(filename));
 
int len = bufferedInputStream.available();
 
byte[] bytes = new byte[len];
 
int r = bufferedInputStream.read(bytes);
 
if (len != r) {
 
bytes = null;
 
throw new IOException("读取文件不正确");
 
}
 
bufferedInputStream.close();
 
return bytes;
 
}
 
 
====其他语言====
 
可参考以下测试方式,将以下代码存成HTML,在微博登录的情况下用浏览器打开此页面可以上传图片,通过比较浏览器的调用(使用HttpWatch, FireBug等工具监测HTTP传送数据)参数来调整你的程序。注意将下面代码中appkey改成对应真实值。
 
 
<html><head><meta http-equiv="Content-Type" content="text/html;charset=utf8"></head><body>
 
<form name="uploadForm" method="POST"
 
action="http://api.t.sina.com.cn/statuses/upload.xml"
 
enctype="multipart/form-data" >
 
<input type="text" name="status" value="填写要发表的文字" />
 
<input type="file" name="pic" value="浏览文件" />
 
<input type="submit" value="上传"/>
 
<input type="hidden" name="source" value="改成你的appkey" />
 
</form></body></html>
 

2010年10月26日 (二) 12:41的版本

目录

account/update_notice

更新用户提醒设置


URL

http://api.t.sina.com.cn/account/update_notice.format

格式

xml, json

HTTP请求方式

POST, 必须用Multipart/form-data方式

是否需要登录

true

请求数限制

true

关于请求数限制,参见接口访问权限说明

请求参数

  • comment:新评论提醒,0—不提醒,1—提醒,默认值1
  • follower:新粉丝提醒,0—不提醒,1—提醒,默认值1
  • dm:新私信提醒,0—不提醒,1—提醒,默认值1
  • mention:@提到我提醒,0—不提醒,1—提醒,默认值1
  • from_user:设置哪些提到我的微博计入提醒数,微博作者身份,0--所有人,1—关注的人
  • status_type:设置哪些提到我的微博计入提醒数,微博类型,0—所有微博,1—原创的微博

返回结果

XML示例:

<?xml version="1.0" encoding="UTF-8"?>
<result>true</result> 

JSON示例:

{"result":true}

字段说明 - status

  • created_at: 创建时间
  • id: 微博ID
  • text: 微博信息内容
  • source: 微博来源
  • favorited: 是否已收藏
  • truncated: 是否被截断
  • in_reply_to_status_id: 回复ID
  • in_reply_to_user_id: 回复人UID
  • in_reply_to_screen_name: 回复人昵称
  • thumbnail_pic: 缩略图
  • bmiddle_pic: 中型图片
  • original_pic:原始图片
  • user: 作者信息
  • retweeted_status: 转发的博文,内容为status,如果不是转发,则没有此字段

字段说明 - user

  • id: 用户UID
  • screen_name: 微博昵称
  • name: 友好显示名称,同微博昵称
  • province: 省份编码(参考省份编码表)
  • city: 城市编码(参考城市编码表)
  • location:地址
  • description: 个人描述
  • url: 用户博客地址
  • profile_image_url: 自定义图像
  • domain: 用户个性化URL
  • gender: 性别,m--男,f--女,n--未知
  • followers_count: 粉丝数
  • friends_count: 关注数
  • statuses_count: 微博数
  • favourites_count: 收藏数
  • created_at: 创建时间
  • following: 是否已关注(此特性暂不支持)
  • verified: 加V标示,是否微博认证用户

使用示例

  • xml:

curl -u uid:password -F "pic=@aaa.jpg" -F "source=appkey" -F "status=abaaaa" http://api.t.sina.com.cn/statuses/upload.xml

  • json:

curl -u uid:password -F "pic=@aaa.jpg" -F "source=appkey" -F "status=abaaaa" http://api.t.sina.com.cn/statuses/upload.json