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

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

              

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

为了识别用户,每个用户针对每个公众号会产生一个安全的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. Tower Defense Toolkit 学习

    代码太多,就不贴了.用到的基本已注释. 游戏中的数据存放在Resources/Database中.游戏运行时,通过Resources.Load加载 UI构成   对象池 using UnityEngi ...

  2. 微软Azure通知中心 (Azure Notification Hubs)

    Azure Notification Hubs 提供简单的方法从后台(azure或者on-promise)去发送通知在不同的平台上面(iOS, Android, Windows, Kindle, Ba ...

  3. 应用端连接MySQL数据库报Communications link failure

    事情的起因: 某项目的开发同学突然Q我们组的某同学,要求我们调整MySQL的连接等待超时参数wait_timeout.要求我们从28800s调整到31536000s(也就是一年) 应用端测试环境的to ...

  4. create-react-app 搭建的项目中,使用 CSS Modules

    create-react-app 搭建的项目中,使用 CSS Modules: 修改config目录下 webpack.config.dev.js 和 webpack.config.prod.js 文 ...

  5. MySQL 的日期类型有5个,分别是: date、time、year、datetime、timestamp。

    类型 字节 格式 用途 是否支持设置系统默认值 date 3 YYYY-MM-DD 日期值 不支持 time 3 HH:MM:SS 时间值或持续时间 不支持 year 1 YYYY 年份 不支持 da ...

  6. Python 处理JSON数据报错解决办法

    春节期间通过接口爬取携程数据的时候,返回的json字符串通过json.loads加载时报错"ValueError: Invalid control character at: line 1 ...

  7. Java变量的初始值

    Java中的变量如果没有赋值,成员变量默认被初始化,局部变量则不会. 对于成员变量 int a;         // a的初始值为0 如下例中的成员变量a,b,c,d public class Va ...

  8. $("#form1"). serialize()提交表单

    一.jQuery ajax()使用serialize()提交form数据 jQuery的serialize()方法通过序列化表单值,创建URL编码文本字符串,我们就可以选择一个或多个表单元素,也可以直 ...

  9. Hadoop数据分析实例:P2P借款人信用风险实时监控模型设计

    Hadoop数据分析实例:P2P借款人信用风险实时监控模型设计 一提到hadoop相信熟悉IT领域或者经常关注互联网新闻的朋友都应该很熟悉了,当然,这种熟悉可能也只是听着名字耳熟,但并不知道它具体是什 ...

  10. ANTS Performance Profiler和ANTS Memory Profiler

    使用ANTS Performance Profiler&ANTS Memory Profiler工具分析IIS进程内存和CPU占用过高问题   一.前言 最近一段时间,网站经常出现两个问题: ...