最近在帮别人做个小项目,要用到微信公众平台,虽然以前也做过微信开发,但是没有深入的自己去搞一套微信开发的东西(也搞不了,那时候没能力,也弄不到微信公众号),最近开始搞,第一步就是配置微信基本配置(账号注册我就不赘述了)。

我们首先要启用服务器配置,并填写URL,token,AESKey,加密方式

那么URL怎么填写呢?

网上有很多种教程,最靠谱的一种是去新浪云注册个免费的PHP服务器,

进入控制台,创建一个新应用,选PHP标准环境,不收费

创建完成后进入应用,左边列表里  应用-->代码管理  里选编辑代码

然后创建 一个index.php文件,双击进去,讲如下代码复制进去,token改成你自己的

<?php
/*** wechat php test*/
//define your token
define("TOKEN", "token");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->valid();
class wechatCallbackapiTest
{
public function valid(){$echoStr = $_GET["echostr"];//valid signature , optionif($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);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}
?>

修改TOKEN为你自己的token,可以自己随便写,但是不一定能用。
保存,右击index.php --> 通过URL访问,会在浏览器里获得这个PHP程序的URL地址。

将该URL地址放到接口配置里的URL里,token要和这个index.php里一致,以后在项目里使用的token也和这个一致.

AESKey点自动生成,消息加密方式根据你个人项目情况选择,如果是公司项目,涉及到钱的,建议使用安全模式。

然后就是提交了,这时候会发现,token验证失败(存在一定的可能性),怎么办,通过查找,可以在微信公众平台-->开发者工具-->公众平台测试账号中查看自己的 token

然后重复上述修改token步骤,运行index.php,使用新的token和URL进行验证,这个时候就OK了。

重点来了!!!

实际生产环节,我们都有自己的服务器,自己的域名,这个时候,就不希望通过第三方的方式做这个微信消息认证了。

我们在生产环境下,要给自己的服务器装个Nginx和PHP环境,具体怎么装百度。

装好以后,我们在/usr/share/nginx/html下新建一个index.php文件,讲上述代码复制进去,保存。

然后在/etc/nginx/nginx.conf(有的人的配置文件在default.d/default.conf里),在server里修改如下代码,注意index.php要加到index里,下方再配入PHP的代理。

location / {root   /usr/share/nginx/html;index  index.php index.html index.htm ; }location ~ \.php$ {root           /usr/share/nginx/html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include        fastcgi_params;}

重启Nginx,解析域名到该服务器地址,使用域名就可以进行微信消息验证了,大功告成。

同样的,如果没有注册公众号,但是注册过测试号,也可以用上述方式填写相应的URL和token

微信公众平台开发接口配置URL index.php和token相关推荐

  1. php如何配置微信公众号环境,微信公众平台开发之配置与请求

    一.配置参数 define('WEIXIN_APPID', 'wxzzzzzzzz'); define('WEIXIN_APPSECRET', 'ouewjdsaudsamkh'); define(' ...

  2. 微信公众请求config php,微信公众平台开发之配置与请求_PHP

    一.配置参数 define('WEIXIN_APPID', 'wxzzzzzzzz'); define('WEIXIN_APPSECRET', 'ouewjdsaudsamkh'); define(' ...

  3. java微信公众平台开发接口_微信公众平台API的Java通讯实现

    微信公众平台 相信大家也不陌生,官方网站提供了一个简单的php程序Demo 因为微信平台采用HTTP方式承载微信的协议,而且不是双向通讯,也就是说只能由微信服务器主动请求我们的服务器.其实当你使用我开 ...

  4. 微信公众平台测试号接口配置的一个坑——ngrok的

    先说坑,我觉得真坑 要想做公众号开发,但是个人账号是没有公众平台的全部接口权限的,所以需要申请测试账号.URL填写需要一个域名,所以选择用内网穿透,我这里使用的就是ngrok,直接去官网下就可以了.我 ...

  5. 微信公众号开发 接口配置信息 配置失败

    之前和室友合租的服务器到期了,现在自己租了一个,想把之前开发的公众号搬过来.然后就换配置接口的URL后提交.一致提示配置失败,后台没看到请求进来,也没看到错误日志.想想是不是请求发到别的地方去了,才突 ...

  6. 微信公众平台开发接口PHP SDK完整版

    官方提供的SDK只有一个文本消息功能,我们将所有消息的消息类型及事件响应都整理了进来,并且加入日志记录,代码如下: 更新日志: 2013-01-01 版本1.0 2014-03-15 增加图片.视频. ...

  7. php对接微信提醒,PHP对接微信公众平台消息接口开发流程教程

    PHP对接微信公众平台消息接口开发流程教程 发布于 2015-02-15 08:54:13 | 157 次阅读 | 评论: 1 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hyperte ...

  8. 微信公众平台开发(97) 图文消息

    在这篇微信公众平台开发教程中,我们将介绍如何灵活的使用图文消息功能.我们将只介绍被动回复消息中的图文消息,发送客服消息及高级群发消息接口的发送的图文消息与本文介绍的图文消息的各情况基本一致. 本文分为 ...

  9. 微信公众平台开发问答 【转发】

    微信公众平台开发问答 微信公众平台开发问答是一个微信知识问答区,专注于提供微信应用及开发技术知识的整理.归类和检索. 主题:新手常见问题 问:我是新手,没有开发基础,应该如何学习微信公众平台的开发? ...

最新文章

  1. Winform 绘制圆形的图片
  2. 在8086模拟器中运行汇编求平均值程序
  3. VS和matlab混合编程的推荐书籍!
  4. matlab 自动扫雷,MATLAB自动扫雷(2)——排雷插旗
  5. 添加错误debug信息
  6. 反序列化 php R类型,pikachu-PHP反序列化、XXE、SSFR
  7. 树莓派智能家居-语音聊天机器人实现
  8. 我看ITIL在中国(六):如何建设有中国特色的IT运维管理平台【三】
  9. jQuery Event.delegateTarget 属性详解
  10. 【HDOJ7079】Pty loves lines(计算直线的交点方案数,打表)
  11. ECharts学习总结(一):ECharts的第一个图表
  12. c# 拼接字符串换行_零基础小白学习:python之最详细字符串篇
  13. 容器技术Docker K8s 23 容器服务ACK基础与进阶-日志管理
  14. setTimeout.js
  15. html头像生成器,2020头像生成器
  16. javafx 五、网络请求
  17. 计算机英语趣味知识竞赛,(经典)精华版 英语趣味知识竞赛.ppt
  18. 好分数班级等级C_2020高中分数线(广州|深圳|天津|广州|南宁|泉州|龙岩|武汉|沈阳|青岛|汉中|长春|四平|北京等)...
  19. 寒假宅喵java学习
  20. NPN三极管和PNP三极管的工作原理

热门文章

  1. mysql迭代器_迭代器是什么,C++ STL迭代器(iterator)用法详解
  2. 微信公众号授权及关注
  3. 计算机钥匙英语,计算机加锁--把U盘变成打开电脑的钥匙 - 信息科学 - 小木虫 - 学术 科研 互动社区...
  4. 返利机器人分享话术_客户裂变-返利机器人回复语
  5. 对LARS(Least Angle Regression)的简单理解
  6. STI、LOD与WPE概念:STI效应对SPICE Model的影响
  7. 二阶常微分方程的数值解法(中心差分法和有限体积法)
  8. 对设计模式的总结之工厂方法模式和抽象工厂模式
  9. 三种方法求最大公约数及求n个数的最小公倍数
  10. GSYVideoPlayer实现视频播放