(提示:需要有服务器或云虚拟机)

一开始不明白公众号不是可以这样管理吗?

              

那么为什么用开发平台进行公众号开发,官方文档是这样说的

为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID,
如果需要在多公众号、移动应用之间做用户共通,则需前往微信开放平
台,将这些公众号和应用绑定到一个开放平台账号下,绑定后,一个用
户虽然对多个公众号和应用有多个不同的OpenID,但他对所有这些同
一开放平台账号下的公众号和应用,只有一个UnionID,可以在用户管
理-获取用户基本信息(UnionID机制)文档了解详情。

下面开始基本配置吧

下面这些都要设置的

     

(以上信息建议复制一份到文本文档中)

当然要上传相应文件到服务器上

代码如下:

  1 define("TOKEN", "hello");//令牌改成自己的
2
3 $wechatObj = new wechatCallbackapiTest();
4
5 $wechatObj->valid();
6
7
8
9 class wechatCallbackapiTest
10
11 {
12
13
14 public function valid()
15
16 {
17
18 $echoStr = $_GET["echostr"];
19
20
21
22 //valid signature , option
23
24 if($this->checkSignature()){
25
26 echo $echoStr;
27
28 exit;
29
30 }
31
32 }
33
34
35
36 public function responseMsg()
37
38 {
39
40 //get post data, May be due to the different environments
41
42 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
43
44
45
46 //extract post data
47
48 if (!empty($postStr)){
49
50
51
52 $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
53
54 $fromUsername = $postObj->FromUserName;
55
56 $toUsername = $postObj->ToUserName;
57
58 $keyword = trim($postObj->Content);
59
60 $time = time();
61
62 $textTpl = "<xml>
63
64 <ToUserName><![CDATA[%s]]></ToUserName>
65
66 <FromUserName><![CDATA[%s]]></FromUserName>
67
68 <CreateTime>%s</CreateTime>
69
70 <MsgType><![CDATA[%s]]></MsgType>
71
72 <Content><![CDATA[%s]]></Content>
73
74 <FuncFlag>0</FuncFlag>
75
76 </xml>";
77
78 if(!empty( $keyword ))
79
80 {
81
82 $msgType = "text";
83
84 $contentStr = "Welcome to wechat world!";
85
86 $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
87
88 echo $resultStr;
89
90 }else{
91
92 echo "Input something...";
93
94 }
95
96
97
98 }else {
99
100 echo "";
101
102 exit;
103
104 }
105
106 }
107
108
109
110 private function checkSignature()
111
112 {
113
114 $signature = $_GET["signature"];
115
116 $timestamp = $_GET["timestamp"];
117
118 $nonce = $_GET["nonce"];
119
120
121
122 $token = TOKEN;
123
124 $tmpArr = array($token, $timestamp, $nonce);
125
126 sort($tmpArr);
127
128 $tmpStr = implode( $tmpArr );
129
130 $tmpStr = sha1( $tmpStr );
131
132
133
134 if( $tmpStr == $signature ){
135
136 return true;
137
138 }else{
139
140 return false;
141
142 }
143
144 }
145
146 }

配置成功后,按启用,基本配置就算完成了。

PHP微信公众号开发之基本配置的更多相关文章

  1. 3.微信公众号开发:配置与微信公众平台服务器交互的URL接口地址

    微信开发基本原理: 1.首先有3个对象 分别是微信用户端 微信公众平台服务器 开发者服务器(也就是放自己代码的服务器) 三者间互相交互 2.微信公众平台服务器 充当中间者角色 (以被动回复消息为例) ...

  2. python之微信公众号开发(基本配置和校验)

    前言 最近有微信公众号开发的业务,以前没有用python做过微信公众号开发,记录一下自己的学习和开发历程,共勉! 公众号类型 订阅号 普通订阅号 认证订阅号 服务号 普通服务号 认证服务号 服务方式 ...

  3. 微信公众号开发(一)--验证服务器地址的Java实现

    现在主流上都用php写微信公众号后台,其实作为后端语言之一的java也可以实现. 这篇文章将对验证服务器地址这一步做出实现. 参考资料:1.慕课网-<初识java微信公众号开发>,2.微信 ...

  4. C#微信公众号开发系列教程二(新手接入指南)

    http://www.cnblogs.com/zskbll/p/4093954.html 此系列前面已经更新了两篇博文了,都是微信开发的前期准备工作,现在切入正题,本篇讲解新手接入的步骤与方法,大神可 ...

  5. 微信公众号开发系列教程一(调试环境部署续:vs远程调试)

    http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...

  6. NET微信公众号开发-5.0微信支付(待测试)

    开发前准备. 1.0微信支付官方开发者文档 2.0官方demo下载 我们用c#所以选择.net版本 不过这个官方的demo根本跑步起来 3.0官方demo运行起来解决方案 4.0微信支付官方.net版 ...

  7. .NET开发者如何愉快的进行微信公众号开发

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:这篇文章只是一个如何提高开发效率的简单指导和记录,不会涉及具体的微信公众号开发内容. ...

  8. 微信公众号开发之被逼学web服务端1-----使用SecureCRT连接Linux服务器

    做Android的进新公司后安排做微信公众号开发,这基本是后台和前端的活都要由小白的我来做,这两天基本成鸭子了,被填的满满的,却还是不够,博文仅作记录,希望能给后来的小白一点参考吧 今天做的是如何配置 ...

  9. .net微信公众号开发——消息与事件

    作者:王先荣    本文介绍如何处理微信公众号开发中的消息与事件,包括:(1)消息(事件)概况:(2)验证消息的真实性:(3)解析消息:(4)被动回复消息:(5)发送其他消息.    开源项目地址:h ...

随机推荐

  1. Understanding the managed heap

    Understanding the managed heap   Another common problem faced by many Unity developers is the unexpe ...

  2. 论 大并发 下的 乐观锁定 Redis锁定 和 新时代事务

    在 <企业应用架构模式> 中 提到了 乐观锁定, 用 时间戳 来 判定 交易 是否有效, 避免 传统事务 的 表锁定 造成 的 瓶颈 . 在 现在的 大并发 的 大环境下, 传统事务 及其 ...

  3. tensorflow object detection

    Follow guidelin from https://github.com/tensorflow/models/blob/master/research/object_detection/g3do ...

  4. asterisk todo

    1, 如何让用户打一个密码才能继续外拨? 可以利用__9xxx那种做法 2,如何和onsip连起来? 3, 如何记录所有拨打记录?

  5. TypeScript 知识点

    TypeScript 通过 类型批注 提供静态类型以在编译时启动类型检查. 基本批注类型是number.bool.string.而弱或动态类型是any. typescript 使用 作用 语句 全局安 ...

  6. Linux fdisk普通分区扩容

    买了一个orangepi 然后用7.4GB的内存卡,写入了一个lubuntu镜像,用去3.6GB还有3.8GB没有用,因为要编译mt7601u进ubuntu中,需要用到内核文件 但是内核压缩包1.2G ...

  7. 在Python中调用Java扩展包HanLP测试记录

    最近在研究中文分词及自然语言相关的内容,关注到JAVA环境下的HanLP,HanLP是一个致力于向生产环境普及NLP技术的开源Java工具包,支持中文分词(N-最短路分词.CRF分词.索引分词.用户自 ...

  8. cksum命令详解

    Linux cksum命令 Linux cksum命令用于检查文件的CRC是否正确.确保文件从一个系统传输到另一个系统的过程中不被损坏. CRC是一种排错检查方式,该校验法的标准由CCITT所指定,至 ...

  9. Spring Cloud(Dalston.SR5)--Hystrix 断路器

    Spring Cloud 对 Hystrix 进行了封装,使用 Hystrix 是通过 @HystrixCommand 注解来使用的,被 @HystrixCommand 注解标注的方法,会使用 Asp ...

  10. 基于nginx + lua实现的反向代理动态更新

    大家都知道,nginx是当前应用非常广泛的web服务器,热度因为他的高并发高性能高可靠性,且轻量级!牛逼的不行,不多说这些. 今天要介绍的是,如何基于nginx和lua脚本,也就是在openresty ...