微信和釘釘網頁分享流程

2021-08-27 11:40:40 字數 2704 閱讀 1436

基本設定 => ip白名單 (配置完此項以開啟可以呼叫獲取access_token介面的許可權)

2 . 獲取jsapi_ticket, 通過剛剛拿到的access_token 請求 , 返回內容如下

3 . 生成js-sdk許可權驗證簽名, 簽名生成規則如下:參與簽名的字段包括noncestr(隨機字串), 有效的jsapi_ticket, timestamp(時間戳), url(當前網頁的url,不包含#及其後面部分) 。對所有待簽名引數按照欄位名的ascii 碼從小到大排序(字典序)後,使用url鍵值對的格式(即key1=value1&key2=value2…)拼接成字串string1。這裡需要注意的是所有引數名均為小寫字元。對string1作sha1加密,欄位名和字段值都採用原始值,不進行url 轉義. 注: 此邏輯必須在服務端實現.

例:

// 所生成的四項

noncestr=wm3wzytpz0wzccnw

jsapi_ticket=sm4aovdwfpe4dxkxges8vmcpggvi4c3vm0p37wvucfvkvay_90u5h9nbslyy3-sl

-hhtdfl2fzfy1aochkp7qg

timestamp=

1414587457

url=

// 步驟1. 對所有待簽名引數按照欄位名的ascii 碼從小到大排序(字典序)後,使用url鍵值對的格式(即key1=value1&key2=value2…)拼接成字串string1:

jsapi_ticket=sm4aovdwfpe4dxkxges8vmcpggvi4c3vm0p37wvucfvkvay_90u5h9nbslyy3-sl-hhtdfl2fzfy1aochkp7qg&noncestr=wm3wzytpz0wzccnw×tamp=1414587457&url=

// 步驟2. 對string1進行sha1簽名,得到signature:

// 對於node可以直接使用jssha包進行開發,

0f9de62fce790f9a083d5c99e95740ceb90c27ed

具體實現**,

引入js檔案 (當你看到這篇博文的時候有可能不是最新版的, 你可以在下面錯誤處理辦法的那個鏈結裡尋找最新版)

wx.config 注入許可權驗證

如果是在頁面載入時就要呼叫的介面, 需要寫在wx.ready裡, 當config驗證成功之後便會呼叫, 如果是使用者觸發才呼叫的介面, 則可以直接呼叫.

其餘介面以及錯誤處理辦法:

釘釘這種卡片配置不需要呼叫api, 只需在html寫上些許**便可, 釘釘的卡片識別策略為: 基於open graph data協議來識別當前網頁內容, 如果該網頁不支援ogp, 那麼基於釘釘預設規則提取網頁標題, 主圖, 正文摘要, 注: 必須靜態寫在html中, 不支援js插入

// 例

page title. maximum length 60-70 characterstitle>

name="description"

content="page description. no longer than 155 characters." />

name="twitter:card"

content="summary">

name="twitter:site"

content="@publisher_handle">

name="twitter:title"

content="page title">

name="twitter:description"

content="page description less than 200 characters">

name="twitter:creator"

content="@author_handle">

twitter

summary

card

images

must

beat

least

120x120px

-->

name="twitter:image"

content="">

property="og:title"

content="title here" />

property="og:type"

content="article" />

property="og:url"

content="" />

property="og:image"

content="" />

property="og:description"

content="description here" />

property="og:site_name"

content="site name, i.e. moz" />

property="fb:admins"

content="facebook numeric id" />

alertmanger釘釘微信告警 1

部署釘釘webhook docker run d p 8060 8060 name webhook timonwong prometheus webhook dingtalk latest ding.profile webhook1 你的釘釘token 執行 alertmanger docker r...

釘釘 企業微信和SaaS的圍城

企業服務市場的蛋糕到底有多大?企業服務市場體量驚人。早就孕育出了oracle,sap,埃森哲等巨無霸公司。個中門類類紛繁複雜,oa,crm,erp,im,hr,財務管理等等。蛋糕怎麼切?而由於各公司之間的業務差異較大,需要深入定製的部分,往往工期長,且造價不菲,這並不符合網際網路的普適精神。因此此波...

懶載入 端對端分享功能 微信釘釘

github l6zt 專案前端與後端緊耦合,分享資訊 放在jsp裡,例如 對以上問題解決方案,我採用 端對端懶載入 不同平台的 sdk,分享邏輯 統一由後端控制 即 頁面裡 只需要引入乙個js指令碼。總體引用方法 data ajax 放置獲取分享資訊 ajax的入參 data exclud 排除 ...