国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

node微信開發之獲取access_token+自定義菜單

2024-07-22 01:18:57
字體:
來源:轉載
供稿:網友

上一篇:自動回復的實現

這兩天終于把獲取access_token+自定義菜單+授權登錄+獲取用戶信息部分完成了,nodejs其實不是很熟悉,所以估計有很多特性沒用起來的,還有很多冗余代碼以及各種問題,只能說功能實現了,大家多多擔待吧。

獲取access_token

因為調用所有公眾號的接口都需要用到access_token,所以必須先將access_token緩存起來,方便以后使用,access_token的有效時間為2小時,所以需要定時更新,下面是代碼實現。

有一點需要注意,本文會提到兩個access_token,還有一個是oauth時會用到,所以大家不要搞混了。

access_token的獲取

access_token的獲取相對來說很簡單了,就是請求一個鏈接附加參數得到access_token,代碼如下:

const getAccessToken = function () { let queryParams = {  'grant_type': 'client_credential',  'appid': config.appId,  'secret': config.appSecret }; let wxGetAccessTokenBaseUrl = 'https://api.weixin.qq.com/cgi-bin/token?'+qs.stringify(queryParams); let options = {  method: 'GET',  url: wxGetAccessTokenBaseUrl }; return new Promise((resolve, reject) => {  request(options, function (err, res, body) {   if (res) {    resolve(JSON.parse(body));   } else {    reject(err);   }  }); })};

請求的三個參數也比較簡潔:

參數 是否必須 說明
grant_type 獲取access_token填寫client_credential
appid 第三方用戶唯一憑證
secret 第三方用戶唯一憑證密鑰,即appsecret

access_token的保存

保存有很多種方法,放在緩存里等,我這邊是存放在一個文件里,因為僅僅是一個示例,定時7000s更新。

//保存與更新const saveToken = function () { getAccessToken().then(res => {  let token = res['access_token'];  fs.writeFile('./token', token, function (err) {     }); })};const refreshToken = function () { saveToken(); setInterval(function () {  saveToken(); }, 7000*1000);};

這樣access_token就能做到定時更新了,注意,如果不是測試好獲取token的次數是有限制的,不過一般沒什么問題,測試最好還是在測試號上進行。

自定義菜單

獲取access_token后自定義菜單的實現就非常簡單了,這里僅僅簡單講一下請求,具體菜單內容請看微信的文檔。
http請求方式:POST(請使用https協議) https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孙吴县| 乡城县| 来安县| 嘉定区| 彭山县| 东明县| 西畴县| 疏勒县| 成都市| 贵阳市| 江北区| 水富县| 宜城市| 化德县| 泌阳县| 顺义区| 昭苏县| 越西县| 射阳县| 邢台县| 怀宁县| 永德县| 达日县| 西乌珠穆沁旗| 阳东县| 阿克苏市| 绥宁县| 莒南县| 十堰市| 南昌市| 桦甸市| 葫芦岛市| 新密市| 闻喜县| 新沂市| 盈江县| 赤城县| 家居| 宝坻区| 庆城县| 福海县|