摘要:微信文檔里存在兩種普通和網(wǎng)頁授權(quán)。這個就是官方文檔說明上面關(guān)于的例子已經(jīng)說得很詳細了,處理起來也大同小異,所以下面直接貼代碼了需要注意一點獲取需要依賴,下面的代碼直接依賴了上面所寫的使用這個就是
access_token
微信文檔里存在兩種access_token:普通 access_token 和 網(wǎng)頁授權(quán) access_token。具體區(qū)別參考:https://mp.weixin.qq.com/wiki...
以下提到的 access_token 均為普通的 access_token
1. 首先我們先去看看是如何請求 access_token 的? 微信公眾平臺技術(shù)文檔2. 所以獲取 access_token 的代碼如下:GET請求:https://api.weixin.qq.com/cgi...
正常返回:{"access_token":"ACCESS_TOKEN","expires_in":7200}
錯誤返回:{"errcode":40013,"errmsg":"invalid appid"}
const request = require("request") // 請安裝第三方包 request request.get({ uri: "https://api.weixin.qq.com/cgi-bin/token", json: true, qs: { grant_type: "client_credential", appid: APPID, // APPID請換成你的 appid secret: APPSECRET // APPSECRET請換成你的 appsecret } }, (err, res, body) => { if (err) { console.log(err) return } console.log(body) if (body.errcode) { // 返回錯誤時的處理 return } })3. guard_dog 實現(xiàn)數(shù)據(jù)持久化和定時刷新
guard_dog 會生成 .dog 文件,每個文件對應(yīng)一個KEY
const guard_dog = require("guard_dog") // 請安裝第三方包 guard_dog guard_dog.init(KEY, (handler) => { // KEY是guard_dog存取數(shù)據(jù)的鍵名 // 拿到數(shù)據(jù)后調(diào)用 handler handler(DATA, EXPIREDS_IN) // DATA是要持久化的數(shù)據(jù),EXPIREDS_IN是數(shù)據(jù)的有效時間,單位是秒 }, DIR) // DIR是 .dog 文件的存放目錄,這個參數(shù)可以不傳4. 現(xiàn)在把以上兩塊代碼合并起來就是我們要的效果
const request = require("request") const guard_dog = require("guard_dog") guard_dog.init("ACCESS_TOKEN", (handler) => { request.get({ uri: "https://api.weixin.qq.com/cgi-bin/token", json: true, qs: { grant_type: "client_credential", appid: APPID, // APPID請換成你的 appid secret: APPSECRET // APPSECRET請換成你的 appsecret } }, (err, res, body) => { if (err) { console.log(err) return } console.log(body) if (body.errcode) { return } handler(body.access_token, body.expires_in) }) }) // 如有需要指定目錄,可以再給 guard_dog.init 多傳個參數(shù)5. guard_dog 初始化這個 key 之后,獲取到的都是有效的值了。guard_dog 獲取值代碼如下:
guard_dog.get("ACCESS_TOKEN", (data) => { // 上面初始化時用的鍵名為"ACCESS_TOKEN",所以這里取值也要用這個鍵名 // 在這里拿到的 data 就是 access_token 了 })6.如果想用著方便點,可以直接封裝成一個模塊
access_token.js
const request = require("request") const guard_dog = require("guard_dog") // 加載這個模塊的時候給 ACCESS_TOKEN 這個鍵名初始化 guard_dog.init("ACCESS_TOKEN", (handler) => { request.get({ uri: "https://api.weixin.qq.com/cgi-bin/token", json: true, qs: { grant_type: "client_credential", appid: APPID, // APPID請換成你的 appid secret: APPSECRET // APPSECRET請換成你的 appsecret } }, (err, res, body) => { if (err) { console.log(err) return } console.log(body) if (body.errcode) { return } handler(body.access_token, body.expires_in) }) }) // 只要向外暴露一個獲取值的方法就可以了 module.exports = function (callback) { guard_dog.get("ACCESS_TOKEN", callback) }
使用:
const access_token = require("./access_token") // 這里把這個模塊與 access_token 模塊當(dāng)成在同一目錄下來作為例子。 access_token((data) => { // 這個 data 就是 access_token })jsapi_ticket
jsapi_ticket 官方文檔說明
上面關(guān)于 access_token 的例子已經(jīng)說得很詳細了,jsapi_ticket 處理起來也大同小異,所以下面直接貼代碼了:
(需要注意一點:獲取 jsapi_ticket 需要依賴 access_token,下面的代碼直接依賴了上面所寫的 access_token.js)
jsapi_ticket.js
const request = require("request") const guard_dog = require("guard_dog") const access_token = require("./access_token") guard_dog.init("JSAPI_TICKET", (handler) => { access_token((access_token) => { request.get({ uri: "https://api.weixin.qq.com/cgi-bin/ticket/getticket", json: true, qs: { access_token: access_token, type: "jsapi" } }, (err, res, body) => { if (err) { console.log(err) return } console.log(body) if (body.errcode) { return } handler(body.ticket, body.expires_in) }) }) }) module.exports = function (callback) { guard_dog.get("JSAPI_TICKET", callback) }
使用:
const jsapi_ticket = require("./jsapi_ticket") jsapi_ticket((data) => { // 這個 data 就是 jsapi_ticket })
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/88792.html
摘要:本篇主要講述,如何在微信中打開自家的頁面,在然后在用戶分享的時候,能由我們自定義分享出去后,展示的頁面卡片中的頁面標(biāo)題頁面描述頁面圖片和分享鏈接。 本篇主要講述,如何在微信中打開自家的頁面,在然后在用戶分享的時候,能由我們自定義分享出去后,展示的頁面卡片中的頁面標(biāo)題、頁面描述、頁面圖片和分享鏈接。 此功能,具體的來說,是: 在微信打開自家的頁面 點擊右上角微信的功能按鈕,出現(xiàn)功能菜單...
摘要:最近開發(fā)微信公眾號內(nèi)嵌頁面,使用搭建的項目,由于業(yè)務(wù)需求,需要實現(xiàn)微信自定義分享功能,所以項目中集成微信。 最近開發(fā)微信公眾號內(nèi)嵌H5頁面,使用vue搭建的項目,由于業(yè)務(wù)需求,需要實現(xiàn)微信自定義分享功能,所以項目中集成微信JS-SDK。微信JS-SDK是微信公眾平臺面向網(wǎng)頁開發(fā)者提供的基于微信內(nèi)的網(wǎng)頁開發(fā)工具包。通過使用微信JS-SDK,網(wǎng)頁開發(fā)者可借助微信高效地使用拍照、選圖、語音、...
摘要:準(zhǔn)備工作申請服務(wù)器公眾號基本配置這些微信公眾平臺上都有,就不介紹了,接下來進入正題。隨著微信管控越發(fā)嚴(yán)厲,像一些最基本的網(wǎng)頁轉(zhuǎn)發(fā)都需要授權(quán)處理才能獲取到圖片和描述,描述審查也是相當(dāng)嚴(yán)格。 準(zhǔn)備工作: 申請服務(wù)器 公眾號 基本配置 這些微信公眾平臺上都有,就不介紹了,接下來進入正題。 ? 微信網(wǎng)頁授權(quán) node js-sdk 授權(quán)公眾平臺的技術(shù)文檔目的為了簡明扼要的交代接口的使用,語句難...
摘要:進過下面的步驟,一步一步的配置,就可以讓你正確的在項目中引入微信的。在進行了正確的微信文件引入后看上面在頁面中調(diào)用如下代碼就可以注入權(quán)限驗證配置。可以通過微信提供的兩個接口來進行事件回調(diào)。到這為止,微信的接入就完成了。 微信JS-SDK的功能 如果你點進來,那么我相信你應(yīng)該知道微信的JS-SDK可以用來做什么了。微信的官方文檔描述如下。 微信JS-SDK是微信公眾平臺面向網(wǎng)頁開發(fā)者提供...
閱讀 3468·2021-11-25 09:43
閱讀 1073·2021-11-15 11:36
閱讀 3320·2021-11-11 16:54
閱讀 3988·2021-09-27 13:35
閱讀 4376·2021-09-10 11:23
閱讀 5759·2021-09-07 10:22
閱讀 3044·2021-09-04 16:40
閱讀 778·2021-08-03 14:03