Account/update profile image

跳转到: 导航, 搜索
(返回:)
 
(未显示4个用户的7个中间版本)
第1行: 第1行:
== account/update_profile_image ==
+
{{api_desc2|
更新用户头像。注意:必须为用multipart Data来提交图片内容,不是URL的图片
+
uri=account/update_profile_image|
 
+
desc=更新用户头像。|
=== URL: ===
+
format=XML/JSON|
http://api.t.sina.com.cn/account/update_profile_image.format
+
httpMethod=POST|
+
needAuth=true|
===格式:===
+
rateLimit=true|
xml, json
+
params={{api_args|image|true|binary|必须为小于700K的有效的GIF, JPG图片. 如果图片大于500像素将按比例缩放。}}|
+
getParam=|
=== HTTP请求方式:===
+
postParam= -F image=@'test2.jpg;type=image/jpeg'|
GET
+
result=
 
+
===XML示例===
===是否需要登录:===
+
<pre>
true
+
<?xml version="1.0" encoding="UTF-8"?>
 
+
===请求数限制:===
+
true
+
 
+
===请求参数:===
+
* image.必须参数. 必须为小于700K的有效的GIF, JPG, 或 PNG 图片. 如果图片大于500像素将按比例缩放。
+
 
+
===返回:===
+
XML示例:
+
<?xml version="1.0" encoding="UTF-8"?>
+
 
   <user>
 
   <user>
     <id>11075</id>
+
     <id>1854835127</id>
     <screen_name>11075</screen_name>
+
     <screen_name>siegetest2</screen_name>
     <name>11075</name>
+
     <name>siegetest2</name>
     <province>广东</province>
+
     <province>11</province>
     <city>广州</city>
+
     <city>8</city>
     <location>广东 广州</location>
+
     <location>北京 海淀区</location>
 
     <description></description>
 
     <description></description>
 
     <url></url>
 
     <url></url>
     <profile_image_url>http://portrait.sinaimg.cn/11075/50#.jpg</profile_image_url>
+
     <profile_image_url>http://tp4.sinaimg.cn/1854835127/50/1291709651/1</profile_image_url>
 
     <domain></domain>
 
     <domain></domain>
     <gender></gender>
+
     <gender>m</gender>
 
     <followers_count>0</followers_count>
 
     <followers_count>0</followers_count>
     <friends_count>0</friends_count>
+
     <friends_count>20</friends_count>
     <statuses_count>0</statuses_count>
+
     <statuses_count>2</statuses_count>
 
     <favourites_count>0</favourites_count>
 
     <favourites_count>0</favourites_count>
     <created_at>Thu Jan 01 08:00:00 +0800 1970</created_at>
+
     <created_at>Thu Nov 11 00:00:00 +0800 2010</created_at>
 
     <following>false</following>
 
     <following>false</following>
 
     <verified>false</verified>
 
     <verified>false</verified>
     <geo_enabled>false</geo_enabled>
+
     <allow_all_act_msg>false</allow_all_act_msg>
 +
    <geo_enabled>true</geo_enabled>
 
     <status>
 
     <status>
       <created_at>Fri Dec 25 17:57:27 +0800 2009</created_at>
+
       <created_at>Fri Nov 12 10:31:27 +0800 2010</created_at>
       <id>19093</id>
+
       <id>3589902667</id>
       <text>外面的世界很精彩</text>
+
       <text>wqrwer</text>
 
       <source>
 
       <source>
         <a id="0" href="http://t.sina.com.cn">Web</a>
+
         <a href="">微博开放平台接口</a>
 
       </source>
 
       </source>
 
       <favorited>false</favorited>
 
       <favorited>false</favorited>
第57行: 第48行:
 
       <in_reply_to_screen_name></in_reply_to_screen_name>
 
       <in_reply_to_screen_name></in_reply_to_screen_name>
 
     </status>
 
     </status>
</user>
+
  </user>
 
+
</pre>
===使用示例: ===
+
===JSON示例===
curl -u user:password -H 'Expect:' -F image=@'test2.png;type=image/png' http://api.t.sina.com.cn/account/update_profile_image.xml
+
<pre>
 +
{
 +
"id":1854835127,
 +
"screen_name":"siegetest2",
 +
"name":"siegetest2",
 +
"province":"11",
 +
"city":"8",
 +
"location":"北京 海淀区",
 +
"description":"",
 +
"url":"",
 +
"profile_image_url":"http://tp4.sinaimg.cn/1854835127/50/0/1",
 +
"domain":"",
 +
"gender":"m",
 +
"followers_count":0,
 +
"friends_count":20,
 +
"statuses_count":2,
 +
"favourites_count":0,
 +
"created_at":"Thu Nov 11 00:00:00 +0800 2010",
 +
"following":false,
 +
"allow_all_act_msg":false,
 +
"geo_enabled":true,
 +
"verified":false,
 +
"status":{
 +
"created_at":"Fri Nov 12 10:31:27 +0800 2010",
 +
"id":3589902667,
 +
"text":"wqrwer",
 +
"source":"<a href=\"\" rel=\"nofollow\">微博开放平台接口</a>",
 +
"favorited":false,
 +
"truncated":false,
 +
"in_reply_to_status_id":"",
 +
"in_reply_to_user_id":"",
 +
"in_reply_to_screen_name":"",
 +
"geo":null
 +
}
 +
}
 +
</pre>|
 +
useAge=
 +
* 采用multipart/form-data编码方式提交,可以参考: [http://www.ietf.org/rfc/rfc1867.txt Form-based File Upload in HTML]|
 +
otherInfo=
 +
===Java示例===
 +
请从 [[SDK | 微博SDK开发包下载]] 下载Java SDK<br>
 +
代码示例如下:
 +
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 | 微博SDK开发包下载]] 处下载PHP SDK(支持OAuth验证之版本)<br>
 +
代码示例如下:
 +
<pre>
 +
//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'].'].');
 +
}
 +
</pre>
 +
}}

2011年3月9日 (三) 15:20的最后版本

目录

account/update_profile_image

更新用户头像。

URL

http://api.t.sina.com.cn/account/update_profile_image.(json%7Cxml)

支持格式

XML/JSON

HTTP请求方式

POST

是否需要登录

true
关于授权机制,参见授权机制声明

请求数限制

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

请求参数

  必选 类型及范围 说明
source true string 申请应用时分配的AppKey,调用接口时候代表应用的唯一身份。(采用OAuth授权方式不需要此参数)
image true binary 必须为小于700K的有效的GIF, JPG图片. 如果图片大于500像素将按比例缩放。

注意事项

返回结果

XML示例

<?xml version="1.0" encoding="UTF-8"?>
  <user>
    <id>1854835127</id>
    <screen_name>siegetest2</screen_name>
    <name>siegetest2</name>
    <province>11</province>
    <city>8</city>
    <location>北京 海淀区</location>
    <description></description>
    <url></url>
    <profile_image_url>http://tp4.sinaimg.cn/1854835127/50/1291709651/1</profile_image_url>
    <domain></domain>
    <gender>m</gender>
    <followers_count>0</followers_count>
    <friends_count>20</friends_count>
    <statuses_count>2</statuses_count>
    <favourites_count>0</favourites_count>
    <created_at>Thu Nov 11 00:00:00 +0800 2010</created_at>
    <following>false</following>
    <verified>false</verified>
    <allow_all_act_msg>false</allow_all_act_msg>
    <geo_enabled>true</geo_enabled>
    <status>
      <created_at>Fri Nov 12 10:31:27 +0800 2010</created_at>
      <id>3589902667</id>
      <text>wqrwer</text>
      <source>
        <a href="">微博开放平台接口</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>

JSON示例

{
	"id":1854835127,
	"screen_name":"siegetest2",
	"name":"siegetest2",
	"province":"11",
	"city":"8",
	"location":"北京 海淀区",
	"description":"",
	"url":"",
	"profile_image_url":"http://tp4.sinaimg.cn/1854835127/50/0/1",
	"domain":"",
	"gender":"m",
	"followers_count":0,
	"friends_count":20,
	"statuses_count":2,
	"favourites_count":0,
	"created_at":"Thu Nov 11 00:00:00 +0800 2010",
	"following":false,
	"allow_all_act_msg":false,
	"geo_enabled":true,
	"verified":false,
	"status":{
		"created_at":"Fri Nov 12 10:31:27 +0800 2010",
		"id":3589902667,
		"text":"wqrwer",
		"source":"<a href=\"\" rel=\"nofollow\">微博开放平台接口</a>",
		"favorited":false,
		"truncated":false,
		"in_reply_to_status_id":"",
		"in_reply_to_user_id":"",
		"in_reply_to_screen_name":"",
		"geo":null
	}
}

其他

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'].'].');
}
文档更新时间: 2011-03-09