微信、QQ內web頁進行二次分享問題小結

二次分享的問題

二次分享是指在微信、QQ內打開由APP分享出的頁面再次分享出去,二次分享的基本流程以下:html

  1. 從APP分享到第三方,須要APP註冊第三方平臺賬號並進行相應配置ios

  2. 爲獲取用戶信息,分享的連接通常都是受權連接,用戶點擊進入時會要求用戶進行受權api

  3. 設置相應的分享參數,用戶在二次分享時須要用到服務器

微信平臺作得比較好,有很詳細並一致的文檔介紹,可是QQ就不好,開放平臺的文檔根本沒有提到二次分享的設置,經過Google能找到一些零散的資料。這裏介紹一下兩個平臺分別如何實現。微信

微信

1.微信受權連接示例:https://open.weixin.qq.com/co...'+ WECHATAPPID +'&redirect_uri=your_url?response_type=code&scope=snsapi_userinfo&state=123#wechat_redirectapp

2.打開連接,重定向,示例連接改變爲your_url?code=F7687B50B46F87207D4F4F21A021837F&state=test,在連接參數中獲取code的值,去服務器請求得到openid值url

3.wechat二次分享,詳細見微信sdk.net

qq

1.QQ受權連接示例:https://graph.qq.com/oauth2.0...
注意:redirect_uri在拼接連接參數時須要把?、&改爲轉義字符code

2.打開連接,重定向,示例連接改變爲your_url?code=F7687B50B46F87207D4F4F21A021837F&state=test,與微信分享同理htm

3.QQ二次分享(兩種方式)

方式一

引用 http://qzonestyle.gtimg.cn/qz...,調用setShareInfo

setShareInfo({
     title: shareTitle,
     summary: shareSummary,
     pic:  'pic_url',
     url: window.location.href + '&tencentShare=1'
});

方式二

設置meta

<meta itemprop="name" content="分享標題"/>
<meta itemprop="image" content="http://img.xmiles.cn/fortune/icon.png" />
<meta name="description" itemprop="description" content="分享描述" />

遇到問題並解決以下:

問題一:因爲手機QQ限制,分享URl與頁面必須求同個域名,不然設置不生效
但這裏二次分享的連接也須要受權,但因爲域名不一樣,因此用了另外一種方式解決:設置分享url爲當前連接,帶上自定義參數,根據參數值在頁面加載時從新打開受權連接

問題二:qq這種jdk設置分享在安卓端定製生效,在ios定製無效,這裏採用折中的方式使用<meta>定製。因爲<meta>設置分享信息沒法改變連接,qq默認拿本來連接進行分享,在code過時時,請求服務器會致使報錯,所以這裏採用 在頁面請求失敗時再去從新打開受權連接

QQ分享還跟版本相關,設置標題內容上面兩種方式均可能不生效,因爲沒去追究哪一個版本問題,所以暫時不處理這個問題

以上

參考資料:
http://m.blog.csdn.net/articl...
http://caibaojian.com/mqq-sha...
http://open.mobile.qq.com/api...
http://qun.qq.com/jsapi.html

相關文章
相關標籤/搜索