PHP實(shí)現(xiàn)發(fā)送模板消息(微信公眾號(hào)版)

以下為開發(fā)步驟:

1.微信公眾號(hào)為服務(wù)號(hào)且開通微信認(rèn)證(其他類型賬號(hào)不能發(fā)送)

2.ip白名單設(shè)置你的服務(wù)器ip(用于獲取access_token)

3.網(wǎng)頁授權(quán)你的域名(用于獲取用戶的openid)

4.開通模板消息并在模板庫中選用模板

5.獲取openid

6.發(fā)送模板消息

ip白名單


網(wǎng)頁授權(quán)



開通模板消息并選用模板






獲取openid

這是微信官方文檔

1.用戶同意授權(quán)审孽,獲取code

接口地址:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE#wechat_redirect

appid:公眾號(hào)appid基礎(chǔ)設(shè)置里有(必填)

redirect_uri:重定向地址黎休,用于接收code(必填)

response_type:返回類型醋闭,請?zhí)顚慶ode(必填)

scope:應(yīng)用授權(quán)作用域痘番,snsapi_base (不彈出授權(quán)頁面逊躁,直接跳轉(zhuǎn),只能獲取用戶openid),snsapi_userinfo (彈出授權(quán)頁面,可通過openid拿到昵稱匕荸、性別、所在地枷邪。并且榛搔, 即使在未關(guān)注的情況下,只要用戶授權(quán)东揣,也能獲取其信息 )(必填)

#wechat_redirect:無論直接打開還是做頁面302重定向時(shí)候践惑,必須帶此參數(shù)(必填)

完成參數(shù)填寫后直接扔進(jìn)你的自定義菜單欄里,點(diǎn)擊跳轉(zhuǎn)url

2.通過code換取網(wǎng)頁授權(quán)access_token

接口地址:https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

$code=$request->get("code"); //接收code嘶卧,這里我用的laravel框架

$url="https://api.weixin.qq.com/sns/oauth2/access_token?appid=appid&secret=secret&code=".$code."&grant_type=authorization_code";

$res=HttpUtils::curl($url, $params = false, $ispost = 0, $https = 1);//此方法為curl發(fā)送請求尔觉,可聯(lián)系我要完整代碼

$res = (array)json_decode($res); // 返回結(jié)果為json,其中包含openid,access_token

appid:公眾號(hào)appid基礎(chǔ)設(shè)置里有(必填)

secret:公眾號(hào)secret基礎(chǔ)配置里生成(必填)

code:第一步獲取的code(必填)

grant_type:填寫為authorization_code(必填)

正確返回的結(jié)果:

{ "access_token":"ACCESS_TOKEN",

"expires_in":7200,

"refresh_token":"REFRESH_TOKEN",

"openid":"OPENID",

"scope":"SCOPE" }

其中openid扔進(jìn)你的數(shù)據(jù)庫芥吟,發(fā)送模板消息的時(shí)候用

發(fā)送模板消息



1.獲取access_token

接口地址:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=appid&secret=secret

appid:公眾號(hào)appid(必填)

secret:公眾號(hào)secret(必填)

grant_type:獲取access_token填寫client_credential(必填)

2.拼接模板消息

$data=[

? ? ? ? ? ? "touser"=>$openid, //對(duì)方的openid侦铜,前一步獲取

? ? ? ? ? ? "template_id"=>"EVcUo-BP_A59s8sXjmYDZPEXtbaMpOCwVQguN4TUwHY", //模板id

? ? ? ? ? ? "miniprogram"=>["appid"=>"", //跳轉(zhuǎn)小程序appid

? ? ? ? ? ? ? ? "pagepath"=>"pages/index/index"],//跳轉(zhuǎn)小程序頁面

? ? ? ? ? ? "data"=>[

? ? ? ? ? ? ? ? "first"=>[

? ? ? ? ? ? ? ? ? ? "value"=> "你的賬戶即將到期,請及時(shí)繳費(fèi)", //自定義參數(shù)

? ? ? ? ? ? ? ? ? ? "color"=> '#173177'//自定義顏色

? ? ? ? ? ? ? ? ],

? ? ? ? ? ? ? ? "keyword1"=>[

? ? ? ? ? ? ? ? ? ? "value"=> $account, //自定義參數(shù)

? ? ? ? ? ? ? ? ? ? "color"=> '#173177'//自定義顏色

? ? ? ? ? ? ? ? ],

? ? ? ? ? ? ? ? "keyword2"=>[

? ? ? ? ? ? ? ? ? ? "value"=> $time, //自定義參數(shù)

? ? ? ? ? ? ? ? ? ? "color"=> '#173177'//自定義顏色

? ? ? ? ? ? ? ? ],

? ? ? ? ? ? ? ? "remark"=>[

? ? ? ? ? ? ? ? ? ? "value"=> "如有疑問运沦,請聯(lián)系當(dāng)?shù)鼐W(wǎng)點(diǎn)", //自定義參數(shù)

? ? ? ? ? ? ? ? ? ? "color"=> '#173177'//自定義顏色

? ? ? ? ? ? ? ? ],

? ? ? ? ? ? ]

? ? ? ? ];

3.發(fā)送模板消息

$url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=appid&secret=secret"; //此時(shí)再次請求access_token泵额,與獲取openid的接口不同E渖睢P怼!

$access_token=json_decode(self::curl($url))->{"access_token"}; //我自己封裝的curl類篓叶,可聯(lián)系我獲取

$msgurl="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$access_token; // 發(fā)送模板消息接口

return json_decode(self::curl($msgurl,$params=json_encode($data),$ispost=1,$https=1));

總結(jié)

1.openid獲取需要網(wǎng)頁獲取

2.接口地址嚴(yán)格按照官方所給出的地址填寫烈掠,參數(shù)順序不能錯(cuò)

3.發(fā)送模板消息時(shí)獲取的access_token具有2小時(shí)的時(shí)效可丟進(jìn)緩存中,不必每次發(fā)送都獲取缸托,每天只有兩千次左敌,模板消息發(fā)送次數(shù)為10萬次,當(dāng)然根據(jù)你公眾號(hào)的關(guān)注人數(shù)來確定俐镐,人數(shù)超過10萬肯定具有更高的次數(shù)

4.下篇文章將寫小程序發(fā)送模板消息

5.常用的微信工具類矫限,作者已封裝,有興趣的可以加群獲取

6.作者自己寫了個(gè)小程序BadBoy,有興趣的可以搜索來玩玩叼风,其中的代碼可找作者索取

7.微信小程序交流群:895964328 php交流群:165728481

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末取董,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子无宿,更是在濱河造成了極大的恐慌茵汰,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件孽鸡,死亡現(xiàn)場離奇詭異蹂午,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)彬碱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門豆胸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人堡妒,你說我怎么就攤上這事配乱。” “怎么了皮迟?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵搬泥,是天一觀的道長。 經(jīng)常有香客問我伏尼,道長忿檩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任爆阶,我火速辦了婚禮燥透,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘辨图。我一直安慰自己班套,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布故河。 她就那樣靜靜地躺著吱韭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鱼的。 梳的紋絲不亂的頭發(fā)上理盆,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音凑阶,去河邊找鬼猿规。 笑死,一個(gè)胖子當(dāng)著我的面吹牛宙橱,可吹牛的內(nèi)容都是我干的姨俩。 我是一名探鬼主播蘸拔,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼环葵!你這毒婦竟也來了都伪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤积担,失蹤者是張志新(化名)和其女友劉穎陨晶,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體帝璧,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡先誉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了的烁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片褐耳。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖渴庆,靈堂內(nèi)的尸體忽然破棺而出铃芦,到底是詐尸還是另有隱情,我是刑警寧澤襟雷,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布刃滓,位于F島的核電站,受9級(jí)特大地震影響耸弄,放射性物質(zhì)發(fā)生泄漏咧虎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一计呈、第九天 我趴在偏房一處隱蔽的房頂上張望砰诵。 院中可真熱鬧,春花似錦捌显、人聲如沸茁彭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽理肺。三九已至,卻和暖如春击罪,著一層夾襖步出監(jiān)牢的瞬間哲嘲,已是汗流浹背贪薪。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國打工媳禁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人画切。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓竣稽,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子毫别,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 微信與小程序結(jié)合推送模板消息 描述: 因小程序是被動(dòng)觸發(fā)推送消息娃弓,所以要做成推送到該用戶的微信公眾號(hào)上代碼推送模板...
    辣椒沒抹上閱讀 44,974評(píng)論 31 30
  • 很早前就想了解下微信公眾號(hào)開發(fā),懶和拖延癥讓這計(jì)劃遲遲沒落實(shí)岛宦,正巧新項(xiàng)目有了微信公眾號(hào)的業(yè)務(wù)台丛,我心中沒數(shù)地回應(yīng),我...
    英文名叫夏天閱讀 4,414評(píng)論 1 4
  • 開發(fā)前首先我們要知道一些概念 各公眾號(hào)區(qū)別:1砾肺、訂閱號(hào):為媒體和個(gè)人提供一種信息傳播方式挽霉,主要偏于為用戶傳達(dá)資訊(...
    CoderZS閱讀 3,183評(píng)論 1 19
  • 人生十大哲學(xué):成為了人生的座右銘,鼓勵(lì)激發(fā)著自己勇敢積極面對(duì)生活变汪。 早安分享:合伙生意要點(diǎn)1.誠信 2.要有一個(gè)很...
    陳茹cr閱讀 142評(píng)論 0 0
  • 【作業(yè)】 請根據(jù)上面的【R】與【I】寫出你的: 【A1:描述自己的相關(guān)經(jīng)驗(yàn)】 我們團(tuán)隊(duì)每周三的二早都會(huì)有行業(yè)邊界的...
    陳與閱讀 95評(píng)論 1 0