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

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

  方法很简单,在官方的文档中已经给出了解决方案。后台写来也是比较简单的。唯一存在的难点就是我们需要获取到用户的fakeid,也就是用户在微信公众号内的openid(注意,这里的openid是指用户关注公众号之后产生的一个openid,这个跟小程序的openid是不同的)。怎么获取到用户的fakeid,请大家耐心等待我的下一篇文档(“如何实现不同应用之间openid的对应(主要是openid(fakeid),unionid等之类的信息匹配)”)。

接下来就开始实现如何发送消息。下面会讲到最简单的模板消息的发送。

  1. 首先获取到我们最最最基本的两个参数,一个是我们微信公众号的appid,另一个则是我们微信公众号的secret。(在这个文档就不写具体是什么参数了)
  2. 在第一步中拿取到我们的appid和secret之后,我们开始进行我们的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实现发送模板消息到微信公众号的更多相关文章

  1. PHP实现发送模板消息(微信公众号版)

    以下为开发步骤: 1.微信公众号为服务号且开通微信认证(其他类型账号不能发送) 2.ip白名单设置你的服务器ip(用于获取access_token) 3.网页授权你的域名(用于获取用户的openid) ...

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

    #!/usr/bin/env python# -*- coding: utf-8 -*-# __author__ = 'James'# 导入模块from wxpy import *import tim ...

  3. 【C#版本】微信公众号模板消息对接(一)(图文详解)

    特此说明:本篇文章为个人原创文章,创作不易,未经作者本人同意.许可等条件,不得以任何形式搬运.转载.抄袭(等包括但不限于此手段)本文章,否则保留追究有关侵权人责任的权利 一.认识微信公众号模板消息 什 ...

  4. 微信公众号发送客服消息提示errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint:解决办法【已解决】

    微信公众号发送客服消息提示errcode":45015,"errmsg":"response out of time limit or subscription ...

  5. tp6微信公众号开发者模式自定义菜单

    1,参考上篇博客,获取access_token https://www.cnblogs.com/xiaoyantongxue/p/15803334.html 2:控制器写以下代码 /* * 获取普通a ...

  6. php之微信公众号发送模板消息参观模仿

    上篇文章中鞋到了公众号发送末班消息,他是最后调用两个方法,本文章简化一下 将下面的php方法放到一个可以引入的公共类中即可 构建模板消息: 我把需要用到的模板消息 都写成一个个方法,放在公共类文件中了 ...

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

    讲一下开发项目中微信公众号发送模板消息的实现过程(我用的还是Thinkphp5.0). 先看一下效果,如图: 就是类似于这样的,下面讲一下实现过程: 第一步:微信公众号申请模板消息权限: 立即申请: ...

  8. JAVA微信公众号通过openid发送模板消息~

    1,问题产生 在微信公众号开发过程中,我们有时候做不同权限的时候,比如在注册的时候,需要审核,然后我们要想办法让对方知道审核的结果.这时候我们可以通过模板消息来通知. 2,第一步,首先在微信公众号上获 ...

  9. 微信公众号发送消息模板(java)

    这段时间接触公众号开发,写下向用户发送消息模板的接口调用 先上接口代码 public static JSONObject sendModelMessage(ServletContext context ...

随机推荐

  1. nyoj913 取石子(十) SG函数 + Nimm博弈

    思路: 第一堆:SG = n % 3; 第二堆:无规律,打表即可,用hash比set快很多; 第三堆:SG = n; 第四堆:无规律 第五堆:SG = n % 2; 第六堆:SG = n % (i + ...

  2. soj4538: ShouHuXueJie Problem DFS

    类似八皇后,暴力深搜. 其实我觉得这题目叙述不是很好,如果答案为0呢,难道不输出? AC代码: #include<cstdio> #include<cstring> #incl ...

  3. homebrew 无法安装提示不能在根目录下使用

    首先提示一点:能谷歌绝对不要百度解决问题. 1.昨天百度了一天,都都没有找到解决方案.因为昨天是20161130日,我的蓝灯FQ软件的流量使用光了.悲催- 2.今天是20161201日,我可以免费使用 ...

  4. hibernate中的缓存问题与快照机制

    1.  什么是缓存 数据存储到数据库里面,数据库本身是一个文件系统,使用流方式操作文件(效率不高) 改进方式:把数据存到内存中,不需要使用流方式,可以直接读取内存中的数据 缓存:内存中的临时数据,当内 ...

  5. 前端js,后台python实现RSA非对称加密

    先熟悉使用 在后台使用RSA实现秘钥生产,加密,解密; # -*- encoding:utf-8 -*- import base64 from Crypto import Random from Cr ...

  6. nginx笔记6-总结

    1.轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除.2.weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况.3.ip_ ...

  7. Linux文本的处理

    Linux最最最最重要的哲学思想就是:一切皆文件.文件以及文件的操作在LInux操作系统中是非常的重要.熟练使用精悍小巧快捷的文本处理方式让效率更高. 一.文件查看命令 less 分页查看 [root ...

  8. 【前端】Vue2全家桶案例《看漫画》之四、漫画页

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_4.html 项目github地址:https://github.com/shamoyuu/ ...

  9. php simpleXML操作xml的用法

    XML简介 XML是一种流行的半结构化文件格式,以一种类似数据库的格式存储数据.在实际应用中,一些简单的.安全性较低的数据往往使用 XML文件的格式进行存储.这样做的好处一方面可以通过减少与数据库的交 ...

  10. Redis相关指令文档

    连接控制 QUIT 关闭连接 AUTH (仅限启用时)简单的密码验证 适合全体类型的命令 EXISTS key 判断一个键是否存在;存在返回 1;否则返回0; DEL key 删除某个key,或是一系 ...