QQ 分享 API

QQ登陸】add_share

特別聲明html

1. 建議網站將請求的頻率限制在每秒1次如下。如請求過於頻繁,該接口將可能被禁用。 
2. 本接口不須要申請接口訪問權限。web

目錄

[隱藏]

1 接口說明

第三方網站能夠調用本分享接口,在用戶受權的狀況下,能夠以用戶的名義發佈一條動態(feeds)到QQ空間,此外還可在騰訊微博上發一條微博(用戶可本身選擇是否轉發到微博)。 
注意網站必須一次性將信息傳輸給本分享接口。 分享功能如今支持網頁分享和視頻分享。 本接口將替代【QQ登陸】add_feeds接口。新接入的網站請使用本接口,原有已經使用了add_feeds接口的網站須要進行代碼改造,遷移到新的接口上來。json

兩種場景下能夠調用本分享接口: 1. 網站主動推送。當用戶在網站上進行操做(例如上傳視頻,圖片,發表評論等)後,以該用戶的名義發佈一條feeds到QQ空間中。  2. 用戶主動分享。用戶在網站上點擊「分享」按鈕,發佈一條feeds到QQ空間中,分享某個視頻,網頁或者其它內容。api

例如:某用戶在某個第三方網站上對某個信息發表了評論,網站將以該用戶的名義發表一條動態到QQ空間中,動態的具體展現以下:  add_share_1.png 安全

上圖中的1-5標註對feeds的組成以及規格進行了說明:app

1. 用戶評論:用戶在第三方網站發佈的評論等UGC信息,對應的參數爲「comment」,選填項。 2. 分享的內容標題,含源網頁URL,點擊跳轉至第三方網站網頁,對應的參數爲「title」和「url」,必填項。 3. 詳細描述:網頁摘要,對應的參數爲「summary」,選填項。 若是分享到微博平臺,則摘要內容不會在微博中顯示,若但願在微博中展現分享的內容,建議將重要信息在評論中進行描述。 4. 外部圖片:引用外部圖片(大小不超過100 x 100 px),對應的參數爲「images」,選填項。 5. 來源網站名稱及域名:標明分享的來源,對應的參數爲「site」和「fromurl」,必填項post

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。

禁止使用系統生產的語句進行代替。
最長40箇中文字,超出部分會被截斷。

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連接。
不可行的狀況:該賬號連續兩次分享A連接(無論間隔時間多少)。

3028 分享的頻率過高超過系統設定正常值。
3034 空間被封,不能進行分享。
3037 系統檢測到客戶端操做異常須要輸入驗證碼。
3046 1秒鐘內,分享次數超過2次。
3047 存儲時發生錯誤。
304八、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>

 

提交成功!

相關文章
相關標籤/搜索