關鍵字:微信分享 JS 失效 分享到朋友圈
微信分享JS接口目前已失效,以前可以自定義分享的標題、描述、圖片、鏈接地址在微信6.0.2版本中失效。
官方回覆如下:
舊版的獲取分享狀態及設置分享內容的JS接口一直用於內部業務,並未對外開放,在微信公開的開放文檔裏面並沒有此接口。 某些第三方藉助微信客戶端漏洞在未獲得權限的情況下使用接口,微信6.0.2版本對此漏洞做了修復以確保用戶分享內容的準確性,避免誘導分享。 另外,不久將向廣大公衆號開放正式分享接口供開發者使用。
臨時解決方案:
標題:修改<title></title>中的內容 圖片:在<body>最前面添加一個圖片 \ <div style=”height:1px;overflow:hidden;”> <img src=”xxx” /> </div> 微信分享的時候會去讀取第一張200*200以上大小的圖片作爲分享的圖片, 鏈接:修改location.href中的內容 描述:暫時沒有辦法修改。
最終解決方案:
等待微信開放新的分享接口
據小道消息微信正在做官方的JS API,基本上是走和公衆號API類似的路線,要通過APPID和APPSECRET拿到code,通過code獲取token,通過token加時間戳和隨機字符串SHA1算出signature簽名,然後用簽名和APPID(目前不知道此ID是公衆號ID還是開放平臺ID)來請求官方的JS API給予各種權限。還要綁定URL,不是隨便寫個網頁就能調用的了。
反正是挺麻煩的,基於安全考慮,肯定一套算法都要配合使用後端技術比如PHP、asp.net生成簽名,不再是純前端html就可以搞定的了。
下面是新api的大致語法:
//初始化配置 wx.config({ debug: true, // 調試模式,會打印所有調用返回信息 appId: '', timestamp: 0, // 時間戳 nonceStr: '', // 隨機串 signature: '',// 簽名,參考我上面給出的解釋 jsApiList: [] // 請求權限 }); //分享朋友圈 wx.onMenuShareTimeline({ title: '', // 分享標題 link: '', // 分享鏈接 imgUrl: '', // 分享圖標 success: function () { }, //成功回調 cancel: function () { }, //失敗回調 });