小程序發送公衆号模闆消息+PHP後台 - 新聞資訊 - 雲南小程序開發|雲南軟件開發|雲南網站建設-昆明融晨信息技術有限公司

159-8711-8523

雲南網建設/小程序開發/軟件開發

知識

不(bù)管是(shì)網站,軟件還是(shì)小程序,都要(yào / yāo)直接或間接能爲(wéi / wèi)您産生價值,我們在(zài)追求其視覺表現的(de)同時(shí),更側重于(yú)功能的(de)便捷,營銷的(de)便利,運營的(de)高效,讓網站成爲(wéi / wèi)營銷工具,讓軟件能切實提升企業内部管理水平和(hé / huò)效率。優秀的(de)程序爲(wéi / wèi)後期升級提供便捷的(de)支持!

您當前位置>首頁 » 新聞資訊 » 公衆号相關 >

小程序發送公衆号模闆消息+PHP後台

發表時(shí)間:2020-10-19

發布人(rén):融晨科技

浏覽次數:102

1、準備工作

微信公衆号:AppId和(hé / huò)APPSecret(必須認證)
微信小程序:AppId和(hé / huò)APPSecret(必須認證)
微信開放者平台(小程序和(hé / huò)公衆号必須綁定同一個(gè)開放者平台,必須認證)

2、獲取微信公衆号的(de)access_token(7200秒有效)

接口調用請求說(shuō)明

https請求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

參數說(shuō)明

參數是(shì)否必須說(shuō)明grant_type是(shì)獲取access_token填寫client_credentialappid是(shì)第三方用戶唯一憑證secret是(shì)第三方用戶唯一憑證密鑰,即appsecret

返回說(shuō)明

正常情況下,微信會返回下述JSON數據包給公衆号:

{"access_token":"ACCESS_TOKEN","expires_in":7200}

參數說(shuō)明

參數說(shuō)明access_token獲取到(dào)的(de)憑證expires_in憑證有效時(shí)間,單位:秒

錯誤時(shí)微信會返回錯誤碼等信息,JSON數據包示例如下(該示例爲(wéi / wèi)AppID無效錯誤):

{"errcode":40013,"errmsg":"invalid appid"}

3、獲取微信公衆号的(de)openID

1)header跳轉授權

"https://open.weixin.qq.com/connect/oauth2/authorize?appid={$this->appid}&redirect_uri={$callback}&response_type=code&scope=snsapi_userinfo&state={$state}#wechat_redirect";

用戶同意授權,獲取code

在(zài)确保微信公衆賬号擁有授權作用域(scope參數)的(de)權限的(de)前提下(服務号獲得高級接口後,默認擁有scope參數中的(de)snsapi_base和(hé / huò)snsapi_userinfo),引導關注者打開如下頁面:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 若提示“該鏈接無法訪問”,請檢查參數是(shì)否填寫錯誤,是(shì)否擁有scope參數對應的(de)授權作用域權限。

尤其注意:由于(yú)授權操作安全等級較高,所以(yǐ)在(zài)發起授權請求時(shí),微信會對授權鏈接做正則強匹配校驗,如果鏈接的(de)參數順序不(bù)對,授權頁面将無法正常訪問

參考鏈接(請在(zài)微信客戶端中打開此鏈接體驗):

scope爲(wéi / wèi)snsapi_base

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_base&state=123#wechat_redirect

scope爲(wéi / wèi)snsapi_userinfo

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect

尤其注意:跳轉回調redirect_uri,應當使用https鏈接來(lái)确保授權code的(de)安全性。

參數說(shuō)明

參數是(shì)否必須說(shuō)明appid是(shì)公衆号的(de)唯一标識redirect_uri是(shì)授權後重定向的(de)回調鏈接地(dì / de)址, 請使用 urlEncode 對鏈接進行處理response_type是(shì)返回類型,請填寫codescope是(shì)應用授權作用域,snsapi_base (不(bù)彈出(chū)授權頁面,直接跳轉,隻能獲取用戶openid),snsapi_userinfo (彈出(chū)授權頁面,可通過openid拿到(dào)昵稱、性别、所在(zài)地(dì / de)。并且, 即使在(zài)未關注的(de)情況下,隻要(yào / yāo)用戶授權,也(yě)能獲取其信息 )state否重定向後會帶上(shàng)state參數,開發者可以(yǐ)填寫a-zA-Z0-9的(de)參數值,最多128字節#wechat_redirect是(shì)無論直接打開還是(shì)做頁面302重定向時(shí)候,必須帶此參數

下圖爲(wéi / wèi)scope等于(yú)snsapi_userinfo時(shí)的(de)授權頁面:

用戶同意授權後

如果用戶同意授權,頁面将跳轉至 redirect_uri/?code=CODE&state=STATE。

code說(shuō)明 : code作爲(wéi / wèi)換取access_token的(de)票據,每次用戶授權帶上(shàng)的(de)code将不(bù)一樣,code隻能使用一次,5分鍾未被使用自動過期。

首先請注意,這(zhè)裏通過code換取的(de)是(shì)一個(gè)特殊的(de)網頁授權access_token,與基礎支持中的(de)access_token(該access_token用于(yú)調用其他(tā)接口)不(bù)同。公衆号可通過下述接口來(lái)獲取網頁授權access_token。如果網頁授權的(de)作用域爲(wéi / wèi)snsapi_base,則本步驟中獲取到(dào)網頁授權access_token的(de)同時(shí),也(yě)獲取到(dào)了(le/liǎo)openid,snsapi_base式的(de)網頁授權流程即到(dào)此爲(wéi / wèi)止。

4、發送模闆消息

接口調用請求說(shuō)明

http請求方式: POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN

POST數據說(shuō)明

POST數據示例如下:

      {
           "touser":"OPENID",
           "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
           "url":"http://weixin.qq.com/download",  
           "miniprogram":{
             "appid":"xiaochengxuappid12345",
             "pagepath":"index?foo=bar"
           },          
           "data":{
                   "first": {
                       "value":"恭喜你購買成功!",
                       "color":"#173177"
                   },
                   "keyword1":{
                       "value":"巧克力",
                       "color":"#173177"
                   },
                   "keyword2": {
                       "value":"39.8元",
                       "color":"#173177"
                   },
                   "keyword3": {
                       "value":"2014年9月22日",
                       "color":"#173177"
                   },
                   "remark":{
                       "value":"歡迎再次購買!",
                       "color":"#173177"
                   }
           }
       }

參數說(shuō)明

參數是(shì)否必填說(shuō)明touser是(shì)接收者openidtemplate_id是(shì)模闆IDurl否模闆跳轉鏈接(海外帳号沒有跳轉能力)miniprogram否跳小程序所需數據,不(bù)需跳小程序可不(bù)用傳該數據appid是(shì)所需跳轉到(dào)的(de)小程序appid(該小程序appid必須與發模闆消息的(de)公衆号是(shì)綁定關聯關系,暫不(bù)支持小遊戲)pagepath否所需跳轉到(dào)小程序的(de)具體頁面路徑,支持帶參數,(示例index?foo=bar),要(yào / yāo)求該小程序已發布,暫不(bù)支持小遊戲data是(shì)模闆數據color否模闆内容字體顔色,不(bù)填默認爲(wéi / wèi)黑色

注意:openID爲(wéi / wèi)公衆号的(de)openID

相關案例查看更多