1. 程式人生 > >PHP實現發送模板消息到微信公眾號

PHP實現發送模板消息到微信公眾號

模板消息 red 這一 技術 template 公眾 rem out 開發

述:在這裏會具體講述到如何實現:如何通過後臺的代碼來實現發送模板消息到已經關註了“心想”公眾號的用戶。

  (本人新手,目前實習中,我的所有文檔都是在自己開發過程中的記錄,有些言語跟我的項目有關請大家可以忽略,主要是跟大家分享我的一些想法和經驗!同時希望大家多多支持,你們的支持將會給我更大的動力!)

  方法很簡單,在官方的文檔中已經給出了解決方案。後臺寫來也是比較簡單的。唯一存在的難點就是我們需要獲取到用戶的fakeid,也就是用戶在微信公眾號內的openid(註意,這裏的openid是指用戶關註公眾號之後產生的一個openid,這個跟小程序的openid是不同的)。怎麽獲取到用戶的fakeid,請大家耐心等待我的下一篇文檔(“如何實現不同應用之間openid的對應(主要是openid(fakeid),unionid等之類的信息匹配)”

)。

接下來就開始實現如何發送消息。下面會講到最簡單的模板消息的發送。

  1. 首先獲取到我們最最最基本的兩個參數,一個是我們微信公眾號的appid,另一個則是我們微信公眾號的secret。(在這個文檔就不寫具體是什麽參數了)
  2. 在第一步中拿取到我們的appidsecret之後,我們開始進行我們的access_token的參數請求。具體的請求如下:

$str = file_get_contents(‘https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=‘.$appid.‘&secret=‘.$secret);

註意在php中我們使用我們的值需要通過“.”來連接我們的數據

$token = json_decode($str,true); //這一步我們去把上面獲取到的數據轉化為數組形式,方便我們去獲取數據

$access_token = $token[‘access_token‘]; //這裏去獲取我們的access_token(取出具體的值)

介紹一下access_token的作用,在微信的開發中,access_token可謂是很多功能實現一定要經過的步驟,因為這個是唯一我們可以對微信中一些功能實現的憑證,如果沒有這個access_token,則我們是無法顯示有些功能的。

  1. 在獲取到我們的access_token
    之後(我們已經準備好了我們可以使用微信功能的憑證了。就相當於我們已經成功了一半了),接下來我們就我們模板信息準備了。(下面準備了一個最簡單的信息發送,如果想要了解更多,請看微信公眾號內的官方文檔,裏面寫的很詳細!)

$template=array(

‘touser‘=>‘ocRJTuOuTv6e7Hw6j*********‘,

‘template_id‘=>‘_t-BVDFVSl_HZ6xkMRNOOQIQOuShl9V21S-rAoA71b0‘,

‘data‘=>array(

‘first‘=>array(‘value‘=>‘點擊跳轉小程序‘,"color"=>‘#173177‘),

‘keyword1‘=>array(‘value‘=>‘test‘,"color"=>‘#173177‘),

‘keyword2‘=>array(‘value‘=>‘test‘,"color"=>‘#173177‘),

‘remark‘=>array(‘value‘=>‘test‘,"color"=>‘#173177‘)

)

);

接下來一個一個參數進行解釋:

$template=array();這個是我們模板的最外層函數,發送給用戶的是一個數據,在客戶端(手機端的微信公眾號)應該會根據我們發送的數據進行發送(具體怎麽實現這裏不做研究)。

touser‘:這個參數極為關鍵,這個參數是最關鍵的一個參數,因為也是最難獲取到的一個參數,這裏面需要填寫的參數就是在上面寫道的openid(在這裏openid就是fakeid,也就是用戶在公眾號內唯一的openid,發送消息是通過openid來識別是哪個用戶,從而來實現相對應的數據發送,具體怎麽獲取到需要根據不同的需求下來獲取到用戶的openid,在這裏請期待我的下一篇文檔(“如何實現不同應用之間openid的對應(主要是openid(fakeid),unionid等之類的信息匹配)”)這裏實現了其中一種去獲取到相對應的openid的方法,可以發送到具體的用戶)

template_id‘:這個參數的意思是我的模板id,在微信公眾號中可以申請相對應的模板,每個模板都有相對應的模板id。但是這個模板id一定是要申請過的!如果要使用我上面的模板id,則一定要申請過我使用的模板。

data‘:這個參數是要跟上面我們申請好的template(模板)的具體要求來的。在微信公眾號中,我們申請好了我們的模板之後,我們可以在我們申請的模板中去查看我們模板中需要傳入的具體參數,在這裏的例子中,我們可以看下面的截圖

技術分享圖片

在第一塊區域中,就是我們data需要傳入的參數,在php中具體傳入的寫法在上面的代碼中。其中first、keyword1、keyword2、remark是我們需要傳入的參數,在這裏可以設置我們的需要的文字和字的顏色。

  1. 好了上面就介紹完了所有的步驟,在這個例子中是最簡單的一個例子,我們還可以實現點擊跳轉到小程序、跳轉到網頁等其他功能。具體怎麽實現請看官方文檔了。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

PHP實現發送模板消息到微信公眾號