本人小菜,今天下午研究了一下午,才将微信公众接口的服务器配置搞定,说实话,理论还是不是很清楚,为了方便后来人和提醒自己,特发此文。因为很多内容雷同,所以有部分内容摘自百度文档。

下面这段摘自柳大神!!

首先谈需求。。。

微信公众帐号注册完成后,默认开启的是编辑模式。那么该如何开启开发模式呢?操作步骤如下:

1)点击进入编辑模式,将右上角的编辑模式开关由“开启”切换到“关闭”,如下图所示:

2)点击高级功能进入到开发模式,将右上角的开发模式开关由“关闭”切换到“开启”,但在切换时会遇到如下提示:

提示需要我们先成为开发者,才能开启开发模式。那就先点击下图所示的“成为开发者”按钮:

如果提示资料不全,那就先补齐资料再回来继续操作。需要补全的资料有公众帐号头像、描述和运营地区。

待资料补全后,再次点击“成为开发者”,这时将看到接口配置信息界面,如下图所示:

这里需要填写URL和Token两个值。URL指的是能够接收处理微信服务器发送的GET/POST请求的地址,并且是已经存在的,现在就能够在浏览器访问到的地址,这就要求我们先把公众帐号后台处理程序开发好(至少应该完成了对GET请求的处理)并部署在公网服务器上。Token后面会详细说明。

也就是说要完成接口配置,只需要先完成微信服务器的GET请求处理就可以?是的。 那这是为什么呢?因为这是微信公众平台接口中定义的。具体请参考API文档-消息接口-消息接口指南中的网址接入部分。

接下来,如何通过php搞定URL和Token?

按照这个步骤来就没错啦,。。。(以下摘自百度文档指导书)

以下过程旨在帮助您如何快速使用应用引擎(BAE)搭建自己的网站。本文以PHP运行环境的代码演示为例,介绍平台的主要功能。流程如下:

注:开始之前,下载并安装SVN客户端,下载地址及安装方法,请参见 SVN客户端使用说明SVN使用。

注册账户

如果您已有百度HI账号则请跳过步骤1,直接登录。

  1. 登陆百度云平台http://developer.baidu.com/cloud/rt,首次使用,需先注册百度开发者,填写相关信息,并验证邮箱和手机(邮箱和手机号必须是可用的,真实存在的)。

2. 注册成功后,点击右上角“管理控制台—>开发者服务管理”界面。

成功注册为百度开发者之后,就可以享受简单可依赖的应用托管服务,要想更好的享受BAE的体验服务,您需要动动手,进行四步操作。下面我们一步步来走进BAE吧,开始创建工程。

创建工程

1. 创建工程,填写信息和网站程序语言的选择(看您的需求),以及域名的设定。完成后提交保存即可。此处可以直接勾选“使用BAE”,则一步可直接部署;也可不勾选,只创建空的工程。这里选择直接部署。

  • “*”号部分为必填项

  • 应用名称:如“PHP测试”,中文或英文,任意

  • 解决方案:选择BAE

  • 类型:共有六种,按照自己的需求选择相应的服务器类型

  • 域名:别人在浏览器的访问您的地址,必须是英文或字母

  • 代码版本工具:BAE提供两种代码版本管理工具,SVN和GIT

2. 点击“创建”,页面跳转到部署列表界面,状态显示“创建中”。

3. 当显示状态“创建中”变成“正常”。恭喜您,运行环境已经创建成功了。

4. 查看工程基本信息:进入到该工程的基本信息页,可查看工程名称、ID、API Key(简称ak),Secret Key(简称sk)等。其中ID、AK、SK是经常需要用到的,也可以从页面右上角的快速复制按钮获取到。

代码部署

1. 本地新建一个文件夹,如:D:\phptest,作为本地的SVN代码库。右键该文件夹选中“SVN Checkout”。

2. 进入SVN配置页面。复制创建工程步骤三的SVN地址,填入仓库路径到弹出窗口。

3. 点击“确定”后,弹出对话框,输入百度的用户名和密码,身份验证成功后SVN会自动连接BAE的SVN代码库,将当前工程中的代码Copy到本地。

4. 用您喜欢的编辑器(例如Notepad++等)在该文件夹下创建您的第一个页面,如phpinfo.php,写入代码,文件内容如下:

5. 右键本地代码库的文件夹,进行如图所示的Add操作,将phpinfo.php新文件添加到本地的代码库中。

6. 点击“OK”,上传文件成功显示以下界面。

7. Add完成后,新文件被添加到了本地的代码库中。完成后,该文件左侧会出现一个红色的“!”,然后要SVN Commit同步到BAE的代码库中,同样右键本地代码库文件夹,点击“SVN commit”。

8. 在弹出的窗口选中所有文件,点击“OK”,更新所有的本地修改到BAE代码库中。

完成代码库更新,我们的BAE体验之旅已接近尾声,发布并查看最终的结果。

发布上线

1. 完成代码更新后,刷新BAE的控制台,会发现当前部署的状态栏里出现了“有新版”字样。点击“快捷发布”,将新代码发布,发布成功后,“有新版”字样消失。点击“点击查看”预览当前页面。

2. 现在,显示的是BAE默认的index.php的界面,修改当前访问地址为http://phptestfirst.duapp.com/phpinfo.php,会显示出新发布的界面。

到此,运行环境演示代码发布完成,你成功了吗?

再接下来,你只需要将下面这段代码替换到index.php这个环境中即可。

<?php

/**

* wechat php test

*/

//define your token

/**

* 0415yigou即TOKEN值,你自己定义是啥,你就改成啥

*/

define("TOKEN", "0415yigou");

$wechatObj = new wechatCallbackapiTest();

$wechatObj->valid();

class wechatCallbackapiTest

{

public function valid()

{

$echoStr = $_GET["echostr"];

//valid signature , option

if($this->checkSignature()){

echo $echoStr;

exit;

}

}

public function responseMsg()

{

//get post data, May be due to the different environments

$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

//extract post data

if (!empty($postStr)){

$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

$fromUsername = $postObj->FromUserName;

$toUsername = $postObj->ToUserName;

$keyword = trim($postObj->Content);

$time = time();

$textTpl = "<xml>

<ToUserName><![CDATA[%s]]></ToUserName>

<FromUserName><![CDATA[%s]]></FromUserName>

<CreateTime>%s</CreateTime>

<MsgType><![CDATA[%s]]></MsgType>

<Content><![CDATA[%s]]></Content>

<FuncFlag>0</FuncFlag>

</xml>";

if(!empty( $keyword ))

{

$msgType = "text";

$contentStr = "Welcome to wechat world!";

$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);

echo $resultStr;

}else{

echo "Input something...";

}

}else {

echo "";

exit;

}

}

private function checkSignature()

{

$signature = $_GET["signature"];

$timestamp = $_GET["timestamp"];

$nonce = $_GET["nonce"];

$token = TOKEN;

$tmpArr = array($token, $timestamp, $nonce);

sort($tmpArr, SORT_STRING);

$tmpStr = implode( $tmpArr );

$tmpStr = sha1( $tmpStr );

if( $tmpStr == $signature ){

return true;

}else{

return false;

}

}

}

?>

替换之后,按照上面svn操作那样进行更新啥的,更新版本啥的,我就不重复了。。。

最后,你得到的URL和TOKEN如下:

URL:http://0415yigou.duapp.com/index.php

TOKEN:0415yigou

明白了吗???

然后就可以进入开发者模式,我也正在看,下节再聊!

转载于:https://my.oschina.net/shawnjee/blog/295951

微信公众平台服务器配置-PHP相关推荐

  1. 微信公众平台服务器配置启用说明

    在微信公众平台机型服务器配置的时候,下图中的服务必须先在服务端跑起来,后台接口使用java开发. authenticate控制器接口如下: /*** 验证只接受微信后台的服务请求* 开发者通过检验si ...

  2. 关于微信公众平台服务器配置Token

    1.打开微信公众平台 2.修改配置 3.填写服务器地址(URL) -------------域名或者ip地址加验证token接口,路径 例如:http://xxxxxx.cn/api/wx/token ...

  3. 微信公众平台服务器配置时token验证失败

    这两天一直在弄微信公众号开发,在进行服务器配置时,发现总是返回token验证失败.这个问题困扰了两天,今天终于解决了.现在总结一下. 一般来说服务器配置token验证失败,可能有以下几个方面: 1.服 ...

  4. 微信公众平台服务器配置(自动回复)

    创建下面两个文件即可 pom <dependency><groupId>dom4j</groupId><artifactId>dom4j</art ...

  5. java开发微信公众平台(一)-- 服务器配置

    微信公众平台开发好像已经火了很长一段时间,我好像有点后知后觉.但只从了解它后便有点不可收拾之势,脑袋里总想着开发一个自己的公众号,虽然不知道具体做什么. 下面就说说自己这段时间对公众号的学习. 欲善其 ...

  6. 微信公众平台开发者中心服务器配置Token验证失败问题

    微信发展如火如荼,没有哪家的企业营销能避开微信不谈的,那像我们这种给客户实施项目的多多少少会涉及微信端的开发,本文只要给从未做过微信开发的人做一些简单的演示,行家里手们可以呵呵一下该干嘛干嘛去了. 微 ...

  7. 微信公众平台测试号注册及基本配置中服务器配置

    微信公众平台测试号注册及基本配置中服务器配置 测试号申请成功在取及配置中配置进行服务器配置就可以配置成功 进入测试号申请界面 测试号申请成功在取及配置中配置进行服务器配置就可以配置成功 进入测试号申请 ...

  8. 微信公众平台开发(4)--填写服务器配置并验证有效性

    点此查看 微信公众号/微信网页/微信支付/企业微信/小程序开发合集及源代码下载 本文目录 1. 前言 2. 填写服务器配置 3. 验证有效性 3.1 构建项目 3.2 接受微信验证消息 3.3 提交验 ...

  9. 微信公众号平台服务器配置请求url超时,绑定微信公众平台提示请求URL超时怎么办...

    绑定微信公众平台提示"请求URL超时"解决办法,这个问题很多朋友遇到过,绑定微信公众平台提示请求URL超时解决办法其实很简单,下面由学习啦小编告诉你! 绑定微信公众平台提示请求UR ...

最新文章

  1. nagios不能 发送飞信报警一例
  2. 内存 : DDR2与DDR
  3. linux 路由表设置 之 route 指令详解
  4. jboss junit_使用junit-drools进行JBoss Drools单元测试
  5. 多机器使用setnx 设置同一个key_Redisson分布式锁的简单使用
  6. java图书馆库存管理系统_书店图书库存管理系统.doc
  7. 声音加速_车子换机油后噪音变大加速无力,到底是什么原因,不少车主吃过亏...
  8. 解读云计算的8项核心技术
  9. python 下载文件 限速-突破xx云盘的限速,利用python实现加速下载
  10. python下载urllib3_使用urllib3下载网页
  11. 计算机语言缩写 dos,dos是什么意思 dos缩写中英全称是什么
  12. 云计算能从事哪些岗位 未来职业发展怎么规划
  13. 怎么用matlab进行频域分析法,如何用Matlab进行频域分析?
  14. 倒谱基音周期matlab,Matlab基于倒谱和EMD的语音基音周期的提取.doc
  15. mysql学习--sql语句
  16. Linux之IFS间隔符、C编程、gdb调试
  17. 编程小白学习编程的开始
  18. 正则表达式(正负数,保留两位小数)
  19. C语言编程-----求s=a+aa+aaa+aaaa+aa...a的值
  20. r和python培训

热门文章

  1. 高数篇:深度解析充分必要条件
  2. Java代码实现WORD转PDF
  3. skywalking 9.x入门(二) skywalking全链路tid追踪
  4. 【Socket网络编程】0.socket TCP/UDP 可参考 【lx青萍之末】 的 【Linux网络编程 】系列博客
  5. Eclipse 导入Maven项目,提示Project .. already exists Add a version or custom suffix using “Name template“
  6. MySQL入门 | day02 | 连接查询
  7. 【东北大学秦皇岛分校计算机专硕考研二战回忆录】
  8. 《雷神之锤III》里求平方根的函数
  9. C++:执行第 K 个值和权重的快速计算 N点高斯-勒让德正交规则(附完整源码)
  10. Spring @Scheduled 多线程配置