Account/update profile image

跳转到: 导航, 搜索

目录

account/update_profile_image

更新用户头像。注意:必须为用multipart Data来提交图片内容,不是URL的图片

URL:

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

格式:

xml, json

HTTP请求方式:

POST

是否需要登录:

true

请求数限制:

true

请求参数:

  • image.必须参数. 必须为小于700K的有效的GIF, JPG, 或 PNG 图片. 如果图片大于500像素将按比例缩放。

返回:

XML示例:

 <?xml version="1.0" encoding="UTF-8"?>
  <user>
    <id>11075</id>
    <screen_name>11075</screen_name>
    <name>11075</name>
    <province>广东</province>
    <city>广州</city>
    <location>广东 广州</location>
    <description></description>
    <url></url>
    <profile_image_url>http://portrait.sinaimg.cn/11075/50#.jpg</profile_image_url>
    <domain></domain>
    <gender></gender>
    <followers_count>0</followers_count>
    <friends_count>0</friends_count>
    <statuses_count>0</statuses_count>
    <favourites_count>0</favourites_count>
    <created_at>Thu Jan 01 08:00:00 +0800 1970</created_at>
    <following>false</following>
    <verified>false</verified>
    <geo_enabled>false</geo_enabled>
    <status>
      <created_at>Fri Dec 25 17:57:27 +0800 2009</created_at>
      <id>19093</id>
      <text>外面的世界很精彩</text>
      <source>
        <a id="0" href="http://t.sina.com.cn">Web</a>
      </source>
      <favorited>false</favorited>
      <truncated>false</truncated>
      <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>
    </status>
 </user>

使用示例:

curl -u user:password -H 'Expect:' -F image=@'test2.png;type=image/png' http://api.t.sina.com.cn/account/update_profile_image.xml

Java示例

请从 微博SDK开发包下载 下载Java SDK
代码示例如下:

package weibo4j.examples;

import java.io.File;

import weibo4j.User;
import weibo4j.Weibo;

public class OAuthUpdateProfileImage {

	/**
	 * Usage: java -DWeibo4j.oauth.consumerKey=[consumer key]
	 * -DWeibo4j.oauth.consumerSecret=[consumer secret]
	 * Weibo4j.examples.OAuthUpdateProfile [accessToken] [accessSecret]
	 * [imageFilePath]
	 * 
	 * @param args
	 *        message
	 */
	public static void main(String[] args) {
		try {
			if (args.length < 3) {
	            System.out.println(
	                "Usage: java weibo4j.examples.OAuthUpdateProfile token tokenSecret filePath");
	            System.exit( -1);
	        }
			
			System.setProperty("weibo4j.oauth.consumerKey", Weibo.CONSUMER_KEY);
			System.setProperty("weibo4j.oauth.consumerSecret", Weibo.CONSUMER_SECRET);

			Weibo weibo = new Weibo();
			
			/*
			 * 此处需要填写AccessToken的key和Secret,可以从OAuthUpdate的执行结果中拷贝过来
			 */
			weibo.setToken(args[0], args[1]);
			try {
				File file=new File(args[2]);
				if(file==null){
					System.out.println("file is null");
					System.exit(-1);
				}
				User user = weibo.updateProfileImage(file);

				System.out.println("Successfully upload the status to ["
						+ user.getName() + "].");
				
			} catch (Exception e1) {
				e1.printStackTrace();
			}
		} catch (Exception ioe) {
			System.out.println("Failed to read the system input.");
		}
	}
}

PHP示例

请从 微博SDK开发包下载 处下载PHP SDK(支持OAuth验证之版本)
代码示例如下:

//account/update_profile_image
$c = new WeiboClient( WB_AKEY , 
                      WB_SKEY , 
                      $_SESSION['last_key']['oauth_token'] , 
                      $_SESSION['last_key']['oauth_token_secret']  );
$pic_path = 'pic_path';
$msg = $c->update_avatar($pic_path);
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;
}
if (isset($msg['name'])){
	echo("Successfully upload the status to [".$msg['name'].'].');
}