add_pic_t

1 接口说明

上传一张图片,并发布一条消息到腾讯微博平台上。

1.1 URL

OAuth2.0协议: https://graph.qq.com/t/add_pic_t

1.2 格式

JSON,XML

1.3 HTTP请求方式

POST

1.4 输入参数说明


计算签名时参数名及其值不做URL编码,HTTP请求包的 body内容也不做URL编码。

以下参数以POST方式提交表单。
(1)通用参数
-OAuth2.0协议必须传入的通用参数,详见这里。
(2)私有参数

参数名称是否必须类型描述
formatstring定义API返回的数据格式。
取值说明:为xml时表示返回的格式是xml;为json时表示返回的格式是json。 
注意:json、xml为小写,否则将不识别。format不传或非xml,则返回json格式数据。
content必须string表示要发表的微博内容。必须为UTF-8编码,最长为140个汉字,也就是420字节。
如果微博内容中有URL,后台会自动将该URL转换为短URL,每个URL折算成11个字节。
若在此处@好友,需正确填写好友的微博账号,而非昵称。
clientipstring用户ip。
必须正确填写用户侧真实ip,不能为内网ip及以127或255开头的ip,以分析用户所在地。
longitudestring用户所在地理位置的经度。
为实数,最多支持10位有效数字。有效范围:-180.0到+180.0,+表示东经,默认为0.0。
latitudestring用户所在地理位置的纬度。
为实数,最多支持10位有效数字。有效范围:-90.0到+90.0,+表示北纬,默认为0.0。
pic必须binary要上传的图片的文件名以及图片的内容(在发送请求时,图片内容以二进制数据流的形式发送,见下面的请求示例)。
图片仅支持gif、jpeg、jpg、png、bmp及ico格式(所有图片都会重新压缩,gif被重新压缩后不会再有动画效果),图片size小于4M。
syncflagstring标识是否将发布的微博同步到QQ空间(0:同步; 1:不同步;),默认为0。
该参数只支持OAuth1.0,OAuth2.0暂不支持。
compatibleflagstring容错标志,支持按位操作,默认为0。
0x2:图片数据大小错误则报错;
0x4:检查图片格式不支持则报错;
0x8:上传图片失败则报错;
0x20:微博内容长度超过140字则报错;
0:以上错误均做容错处理,即发表普通微博;
0x2|0x4|0x8|0x20:同旧模式,以上各种情况均报错,不做兼容处理。

1.5 请求示例

以OAuth2.0为例,POST请求包示例:

POST /t/add_pic_t HTTP/1.1
Host: graph.qq.com
Content-Length: 352
Connection: Keep-Alive
Cache-Control: no-cache
Content-Type: multipart/form-data;
boundary=c9152e99a2d6487fb0bfd02adec3aa16
//…此处省去部分HTTPS头部
--c9152e99a2d6487fb0bfd02adec3aa16
Content-Disposition: form-data; name="access_token"
************
--c9152e99a2d6487fb0bfd02adec3aa16
Content-Disposition: form-data; name="oauth_consumer_key"
123456
--c9152e99a2d6487fb0bfd02adec3aa16
Content-Disposition: form-data; name="openid"
*******************************
--c9152e99a2d6487fb0bfd02adec3aa16
Content-Disposition: form-data; name="format"
xml
--c9152e99a2d6487fb0bfd02adec3aa16
Content-Disposition: form-data; name="content"
hello
--c9152e99a2d6487fb0bfd02adec3aa16
Content-Disposition: form-data; name="clientip"
129.16.10.10
--c9152e99a2d6487fb0bfd02adec3aa16
Content-Disposition:form-data;name="pic";
filename="abc.jpeg"
Content-Type:image/jpeg
//…此处省去图片二进制数据流
--c9152e99a2d6487fb0bfd02adec3aa16
Content-Disposition: form-data; name="syncflag"
--c9152e99a2d6487fb0bfd02adec3aa16
Content-Disposition: form-data; name="compatibleflag"
--c9152e99a2d6487fb0bfd02adec3aa16--

1.6 返回参数说明

参数名称描述
ret返回码。
-公共返回码说明详见:公共返回码说明。
-微博OpenAPI私有返回码详见:微博私有返回码说明。
-本接口私有返回码说明详见:这里。
errcode二级错误码,详见:微博私有返回码说明。
本接口私有返回码详见下面的说明。
msg如果ret不为0,会有相应的错误信息提示,返回数据全部用UTF-8编码。
id微博的ID,用来唯一标识一条微博。
time微博的发表时间。
imgurl图片分享后的url地址。

本接口私有返回码说明如下:

reterrcode错误信息含义说明
11error clientip调用接口时所填写的clientip错误,必须为用户侧真实ip,不能为内网ip、以127及255开头的ip。
2error content len微博内容超出长度限制或为空,建议缩减要发表内容。
3error longitude param经度值错误,请仔细检查后重新填写。
4error latitude param纬度值错误,请仔细检查后重新填写。
9error pic size图片大小超出限制或为0,请确认图片是否正确。
10pic format error图片格式错误,目前仅支持gif、jpeg、jpg、png、bmp及ico格式。
43post format error格式错误、用户无效(非微博用户)等,请确定用户是否是微博用户。
4forbidden content表示有过多脏话,请认真检查content内容。
5forbidden access禁止访问,如城市,uin黑名单限制等。
9post invliad content内容包含垃圾信息:广告,恶意链接、黑名单号码等,请认真检查。
10post content too fast发表太快,被频率限制,请控制发表频率。
12content is verifying源消息审核中。
13post content repeated重复发表,请不要连续发表重复内容。
14not verify real name未实名认证,用户未进行实名认证,请引导用户进行实名认证。
16add fail服务器内部错误导致发表失败,请联系企业QQ(800013811)反馈问题。
67post content repeated重复发表带图微博,图片及内容均相同,请不要连续发表重复图片和内容。
70pic upload error上传图片失败。
1001common uin blacklist limit公共uin黑名单限制。
1002common ip blacklist limit公共IP黑名单限制。
1003weibo blacklist limit微博黑名单限制。
1004access too fast单uin访问微博过快。
1472add fail服务器内部错误导致发表失败,请联系企业QQ(800013811)反馈问题。

1.7 正确返回示例

Content-type: text/html; charset=utf-8

{
ret:0,
msg:"ok",
errcode:0,
data:
   {
     id:12345678,
     time:12863444444,
     imgurl:http://t1.qpic.cn/mblogpic/3b0dde076353bc94c2c8/460
   }
}

1.8 错误返回示例

Content-type: text/html; charset=utf-8
{

ret:4,
msg:"禁止访问,城市,QQ号码被加入黑名单",
errcode:5

}