QQ登录】add_share
特别声明:
1.
建议网站将请求的频率限制在每秒1次以下。如请求过于频繁,该接口将可能被禁用。
2.
本接口不需要申请接口访问权限。
目录[隐藏] |
1 接口说明
第三方网站可以调用本分享接口,在用户授权的情况下,可以以用户的名义发布一条动态(feeds)到QQ空间,此外还可在腾讯微博上发一条微博(用户可自己选择是否转发到微博)。
注意网站必须一次性将信息传输给本分享接口。
分享功能现在支持网页分享和视频分享。 本接口将替代【QQ登录】add_feeds接口。新接入的网站请使用本接口,原有已经使用了add_feeds接口的网站需要进行代码改造,迁移到新的接口上来。
两种场景下可以调用本分享接口: 1. 网站主动推送。当用户在网站上进行操作(例如上传视频,图片,发表评论等)后,以该用户的名义发布一条feeds到QQ空间中。 2. 用户主动分享。用户在网站上点击“分享”按钮,发布一条feeds到QQ空间中,分享某个视频,网页或者其它内容。
例如:某用户在某个第三方网站上对某个信息发表了评论,网站将以该用户的名义发表一条动态到QQ空间中,动态的具体展示如下:
上图中的1-5标注对feeds的组成以及规格进行了说明:
1. 用户评论:用户在第三方网站发布的评论等UGC信息,对应的参数为“comment”,选填项。 2. 分享的内容标题,含源网页URL,点击跳转至第三方网站网页,对应的参数为“title”和“url”,必填项。 3. 详细描述:网页摘要,对应的参数为“summary”,选填项。 如果分享到微博平台,则摘要内容不会在微博中显示,若希望在微博中展示分享的内容,建议将重要信息在评论中进行描述。 4. 外部图片:引用外部图片(大小不超过100 x 100 px),对应的参数为“images”,选填项。 5. 来源网站名称及域名:标明分享的来源,对应的参数为“site”和“fromurl”,必填项。
1.1 URL
OAuth2.0协议:https://graph.qq.com/share/add_share
OAuth1.0协议:http://openapi.qzone.qq.com/share/add_share
1.2 格式
JSON / XML
1.3 HTTP请求方式
POST
1.4 输入参数说明
各个参数请进行URL 编码,编码时请遵守 RFC 1738 (1)通用参数 -OAuth2.0协议必须传入的通用参数,详见这里。
-OAuth1.0协议必须传入的通用参数,详见这里。
(2)私有参数
参数名称 | 是否必须 | 类型 | 描述 |
---|---|---|---|
title | 必须 | string | feeds的标题,对应上文接口说明中的2。 最长36个中文字,超出部分会被截断。 |
url | 必须 | string | 分享所在网页资源的链接,点击后跳转至第三方网页,对应上文接口说明中2的超链接。 请以http://开头。 |
comment | string | 用户评论内容,也叫发表分享时的分享理由,对应上文接口说明的1。 禁止使用系统生产的语句进行代替。 |
|
summary | string | 所分享的网页资源的摘要内容,或者是网页的概要描述,对应上文接口说明的3。 最长80个中文字,超出部分会被截断。 |
|
images | string | 所分享的网页资源的代表性图片链接",对应上文接口说明的4。 请以http://开头,长度限制255字符。 多张图片以竖线(|)分隔,目前只有第一张图片有效,图片规格100*100为佳。 |
|
format | string | 定义API返回的数据格式。 取值说明:为xml时表示返回的格式是xml;为json时表示返回的格式是json。 注意:json、xml为小写,否则将不识别。format不传或非xml,则返回json格式数据。 |
|
type | string | 分享内容的类型。4表示网页;5表示视频(type=5时,必须传入playurl)。 | |
playurl | string | 长度限制为256字节。仅在type=5的时候有效,表示视频的swf播放地址。 | |
site | 必须 | string | 分享的来源网站名称,请填写网站申请接入时注册的网站名称,对应上文接口说明的5。 |
fromurl | 必须 | string | 分享的来源网站对应的网站地址url,对应上文接口说明中5的超链接。 请以http://开头。 |
nswb | string | 值为1时,表示分享不默认同步到微博,其他值或者不传此参数表示默认同步到微博。 |
1.5 请求示例
1. 请求参数以OAuth2.0协议为例(敏感信息都用*号进行了处理,实际请求中需要替换成真实的值):
access_token=*************
oauth_consumer_key=200003
openid==**********
format=xml
title=QQ空间
url=http://www.qzone.com/
comment=真不错
summary=我的生活我的时尚
images=http://imgcache.qq.com/QzonePortal_v2/city_v2/img/news_img/2011/0526/portal_new_1306376959_375.jpg
2. 对参数进行URL编码后拼接出的POST请求包:
POST
/share/add_share HTTP/1.1
Host:
graph.qq.com
Content-Type:
application/x-www-form-urlencoded
Content-Length:
431
access_token=*************&oauth_consumer_key=200003&openid=**********&title=QQ%E7%A9%BA%E9%97%B4&url=http
%3A%2F%2Fwww.qzone.com%2F&comment%3D%E7%9C%9F%E4%B8%8D%E9%94%99&summary=%E6%88%91%E7%9A%84%E7%94%9F%E6%B4%
BB%E6%88%91%E7%9A%84%E6%97%B6%E5%B0%9A&images=http%3A%2F%2Fimgcache.qq.com%2FQzonePortal_v2%2Fcity_v2%2F
img%2Fnews_img%2F2011%2F0526%2Fportal_new_1306376959_375.jpg
3.下面是Post请求的HTML Form代码,开发者可以使用此表单来测试(供PC网页使用):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD>
<BODY> <form action="https://graph.qq.com/share/add_share" method="post"> access token<input value="********..." name="access_token" /><br> appid<input value="222222" name="oauth_consumer_key" /><br> openid<input value="="********" " name="openid" /><br> url<input value=" http://www.qzone.com/ " name="url" /><br> comment<input value="真不错" name="comment" /><br> summary<input value="我的生活我的时尚" name="summary" /><br> images<input value="http://imgcache.qq.com/QzonePortal_v2/city_v2/img/news_img/2011/0526/ portal_new_1306376959_375.jpg" name="images" /><br><br>
<input type="submit" value="分享" /> </form> </BODY> </HTML>
1.6 返回参数说明
ret: 返回码
msg: 如果ret<0,会有相应的错误信息提示,返回数据全部用UTF-8编码
1.7 返回码说明
0: 正确返回 其它: 失败。
OpenAPI公共错误码说明详见:【QQ登录】公共返回码说明。 本接口私有返回码说明如下:
错误码 | 含义说明 |
---|---|
1000 | 本接口私有参数错误,请根据上文的参数列表检查参数名及参数值是否正确。 |
3006 | 输入的文字内容信息包含敏感词汇,禁止分享。 |
3021 | 同一帐号连续分享了同一个URL。 可行的情况:该帐号先分享A链接,然后分享B链接,再分享A链接。 |
3028 | 分享的频率太高超过系统设定正常值。 |
3034 | 空间被封,不能进行分享。 |
3037 | 系统检测到客户端操作异常需要输入验证码。 |
3046 | 1秒钟内,分享次数超过2次。 |
3047 | 存储时发生错误。 |
3048、3049 | 系统内部错误。 请通过企业QQ联系QQ登录支持人员,调查问题原因并获得解决方案。 |
3064 | 分享信息里包含有安全漏洞,禁止分享 。 |
1.8 正确返回示例
<?xml version=\"1.0\" encoding=\"utf-8\"?> <data> <ret>0</ret> <msg><![CDATA[]]></msg> </data>
1.9 错误返回示例
<?xml version=\"1.0\" encoding=\"utf-8\"?> <data> <ret>1000</ret> <msg><![CDATA[缺少必要输入参数]]></msg> </data>
提交成功!