微信,想必大家都不陌生,像支付宝一样在悄悄的改变大家的生活方式。伴随着这种新的生活方式,越来越多的微服务也开始进入我们的生活,我们可以使用微信查询信用卡帐单、还款、支付,在最近的一次微信合作伙伴大会上,腾讯向公众服务号开放支付功能与九大高级接口,透过这些接口,开发者可以实现使用利用微信摇控电视、冰箱、洗衣机甚至电饭煲,使用微信的微支付功能,还能方便地在线购买电影票、手机充值、收看互联网电视付费节目等。

下面,就我个人的了解,简单讲述一下微信开发的第一步,如何与微信服务器对接。

想要涉足微信开发,第一步就是要申请一个微信公众号。公众号分为服务号和订阅号。服务号,故名思义,主要是对用户提供服务的,一般是企业或是服务行业用的比较多,功能相对订阅号要强大一些,可以自定义用户菜单;但也有不方便的地方,就是服务号一个月只允许发送一条群消息。订阅号,主要是提供信息和资讯,一般是媒体用的比较多,功能相对服务号要弱一些,但可以每天发送一条群消息。以下的讲述,都是以服务号为基础。

微信公众号申请好之后,我们还需要一个对外的WEB服务器,方便和微信服务器进行数据交互。这一步我就不细讲了,百度和新浪都提供这个服务。

登录微信公众平台,在左侧的导航菜单中选择“功能”--> “高级功能”, 微信为我们提供了两种“编辑模式”和“开发模式”,这两种模式互斥,即如果开启了“编辑模式”,则需要将“开发模式”关闭,反之亦然。“编辑模式”又称傻瓜模式,开发者可以直接在平台上定义菜单,设置自动回复等功能。这里定义的菜单功能比较弱,用户点击自定义菜单后,只能够回复信息或是打开一个网页,如果需要根据用户点击的菜单做一些其他动作,则需要使用到“开发模式”。

使用”开发模式“的前提是您必须申请成为开发者。

第一步需要指定接收微信服务器数据的URL,同时还需要指定一个TOKEN(由开发者任意填写,用于生成签名),用于接入时的验证。

第二步要验证您指定的URL的有效性,微信服务器会像您指定的URL发送一个GET请求,该请求携带四个参数。

开发者通过检验signature对请求进行校验。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。

PHP检验代码如下。

$wechatObj = new wechatCallbackAPI();

$wechatObj->valid();

class wechatCallbackAPI {

private $token = "WEIXIN";

private $appId = "APPID";

private $appSecret = "APPSECRET";

private function checkSignature() {

$signature = $_GET["signature"];

$timestamp = $_GET["timestamp"];

$nonce = $_GET["nonce"];

$tmpArr = array($this->token, $timestamp, $nonce);

sort($tmpArr);

$tmpStr = implode($tmpArr);

$tmpStr = sha1($tmpStr);

if($tmpStr == $signature) {

return true;

} else {

return false;

}

}

public function valid() {

$echoStr = $_GET["echostr"];

//valid signature, option

if($this->checkSignature()){

echo $echoStr;

exit;

}

}

}

?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持找一找教程网。

php教程 微信,php微信开发接入相关推荐

  1. 网络架构、云平台和微信公众平台开发接入

    云与后端相关的技术似乎并不属于嵌入式和物联智能硬件开发工程师的范畴,但是嵌入式开发工程师有必要认识成熟的网络架构和相关的云技术,以拓展自己在系统架构方面的视野.大数据分析是物联网背后的核心价值,物联智 ...

  2. 网络架构、云平台和微信公众号开发接入--基于嵌入式工程师的视觉

    云与后端相关的技术似乎并不属于嵌入式和物联智能硬件开发工程师的范畴,但是嵌入式开发工程师有必要认识成熟的网络架构和相关的云技术,以拓展自己在系统架构方面的视野.大数据分析是物联网背后的核心价值,物联智 ...

  3. 微信第三方平台开发接入

    微信第三方平台开发接入 授权流程接入步骤如下:( 微信https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=res ...

  4. 微信二次开发接入php代码,适合新手学习的laravel接入微信接口,实现微信公众号二次开发...

    最近使用laravel做微信公众号二次开发,发现网上能够参考的资料基本上很少,很多地方都讲的不够详细,致使许多新手采坑无数,所以这篇文章讲一下如何使用laravel接入微信接口,实现微信公众号二次开发 ...

  5. 微信公众号开发接入,利用微信公众平台申请测试号进行本地开发

    一.前言 随着微信的普遍,年轻一代逐渐从QQ转到微信的使用.界面简洁,功能强大,男女老少皆宜是微信的特点,也正是靠着这一特点,从而使得微信在国内成为了社交软件的巨头.因此在微信端里就衍生了很多的产品需 ...

  6. 微信公众号开发-接入

    一 首先实现内网穿透,公众号需要连接我们的服务器,内外无法访问,所以先实现自己的内网可以测试时连接外网,下载natapp,选择windows,顺便下载config,ini 配置文件.注册好购买免费的隧 ...

  7. 小程序接入h5页面_微信小程序开发接入colorUI

    本文接前天的小程序开发第一篇文章,上篇文章完成了微信官方提供的小程序初始模板代码的构建,今天这篇文章主要讲解小程序使用colorUI框架,并构建一个简单的页面. 前注: 1.本文代码基于第一篇文章的基 ...

  8. signaturenonce php,php微信公众平台开发--接入微信API

    1. 接入微信API public function index(){ //获得参数 signature nonce token timestamp echostr //微信服务器发出参数都是以get ...

  9. 微信小游戏开发接入系列文章

    教你"偷偷"的获取微信小游戏好友关系链数据 3D游戏3D素材资源zip压缩解决方案 微信小游戏代码包侵权的避开技巧(含处理脚本代码) 微信小游戏 获取判群ID方法 微信小游戏(字节 ...

  10. 微信公众号开发教程(一) 验证接入

    作者:陈惠,叩丁狼教育高级讲师.原创文章,转载请注明出处. 微信公众号开发教程(一)验证接入 本篇文章主要介绍了微信公众号开发接入详细流程,希望对刚接触公众号开发的同学有所帮助,有兴趣的同学可多多关注 ...

最新文章

  1. C# Idioms: Safely方法
  2. 3D芯片大脑:在芯片上培养脑细胞,还能用来测试新药
  3. CompletableFuture CompletableFuture.supplyAsync 异常处理
  4. python计算圆面积保留两位数_python中怎么实现保留两位小数
  5. Assembly.Load,Assembly.LoadFile 与 Assembly.LoadFrom
  6. C# BackGroundWorker 的简单使用
  7. @Value属性配置 以及 spring boot1.5以上版本@ConfigurationProperties取消location注解后的替代方案...
  8. 多核、多处理器、并发、并行、超线程概念总结
  9. cv方向有哪些_【星球知识卡片】视频分类与行为识别有哪些核心技术,对其进行长期深入学习...
  10. 弧长积分公式的证明_20160414
  11. 提高计算机软件速度的方法,提高电脑速度的10个有效方法
  12. Boboniu Plays Chess (模拟构造)
  13. 计算机基础知识试题答案6,计算机基础知识试题及答案
  14. 大白话、最简单——SpringBoot+Mybatis+freemarker整合(二)
  15. luogu P3647 [APIO2014] 连珠线
  16. 把屏幕竖起来看代码很爽
  17. n边形对角线交点问题
  18. 【2017年】阿里巴巴算法笔试第二题
  19. 马斯克究竟从特斯拉赚了多少钱?道翰天琼认知智能机器人平台API接口大脑为您揭秘-1。
  20. 完全立方和差和立方和差公式

热门文章

  1. 平方求和、立方求和公式
  2. vue eslint 自动修复
  3. vue input输入框事件
  4. BeanFacotry 和ApplicationContext联系和区别
  5. 凯西·牛顿(Casey Newton)即将离任
  6. 前端知识的浅薄了解2
  7. 小米8 se图片备份到电脑上
  8. python datetime 格式化_[已解决]Python中用strftime格式化datetime出错
  9. python基础-运算符
  10. C++ 实现磁盘初始化