PHP实现发送模板消息到微信公众号

Posted xiayikoucha

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP实现发送模板消息到微信公众号相关的知识,希望对你有一定的参考价值。

述:在这里会具体讲述到如何实现:如何通过后台的代码来实现发送模板消息到已经关注了“心想”公众号的用户。

  (本人新手,目前实习中,我的所有文档都是在自己开发过程中的记录,有些言语跟我的项目有关请大家可以忽略,主要是跟大家分享我的一些想法和经验!同时希望大家多多支持,你们的支持将会给我更大的动力!)

  方法很简单,在官方的文档中已经给出了解决方案。后台写来也是比较简单的。唯一存在的难点就是我们需要获取到用户的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实现发送模板消息到微信公众号的主要内容,如果未能解决你的问题,请参考以下文章

php之微信公众号发送模板消息

要怎么做,网站发布的文章同步到微信公众号里面

C#开发微信门户及应用(26)-公众号微信素材管理

主动发送微信公众平台“模板消息”需要啥条件?

python特定时间发送消息到微信公众号

微信公众号模板消息无法跳转到指定小程序页面