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></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示例
//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'].'].'); }