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

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

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

微信公众号申请好之后,我们还需要一个对外的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;

}

}

}

?>

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

java和php开发微信_php微信开发接入相关推荐

  1. php mysql开发技术_PHP+MySQL开发技术详解—学习笔记

    1.      PHP is Hypertext Preproocessor. 2.      Hello World: Echo 'Hello World!'; ?> 3.      标记风格 ...

  2. 慕课网_《Java微信公众号开发进阶》学习总结

    时间:2017年08月12日星期六 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学源码:http://img.mukewang.com/down/... 学习 ...

  3. Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发

    接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 资料准备: 1.一个可以访问的外网,即80的访问端口,因为微信公众号接 ...

  4. java微信公众号开发token验证失败的问题及解决办法

    java微信公众号开发token验证失败的问题及解决办法 参考文章: (1)java微信公众号开发token验证失败的问题及解决办法 (2)https://www.cnblogs.com/beardu ...

  5. 微信公众号Java开发-笔记02【开发接入准备、开发接入】

    学习视频网址:哔哩哔哩网站 微信公众号开发-Java版 [P01-P02]微信公众号Java开发-笔记01[微信公众号介绍.开发环境搭建] [P03-P04]微信公众号Java开发-笔记02[开发接入 ...

  6. java 微信请求_Java web微信请求拦截器(微信公众号开发)

    Java web微信请求拦截器(微信公众号开发),获取微信用户信息. package com.mvc.interceptor; import com.alibaba.fastjson.JSONObje ...

  7. Java微信公众平台开发--番外篇,对GlobalConstants文件的补充

    转自:http://www.cuiyongzhi.com/post/63.html 之前发过一个[微信开发]系列性的文章,也引来了不少朋友观看和点评交流,可能我在写文章时有所疏忽,对部分文件给出的不是 ...

  8. 微信公众号开发之服务器接入指南之Java版本

    微信公众号开发的官方文档: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319 其中我们开发好的服务器,在配置到 ...

  9. 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单

    我们来了解一下 自定义菜单创建接口: http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_to ...

最新文章

  1. [JMX一步步来] 1、JMX的Hello World
  2. gRPC in ASP.NET Core 3.x -- Protocol Buffer, Go语言的例子(下)
  3. excel 粘贴到web_使用EXCEL导入参考历年高考大数据,为2019年高考志愿填报做参考...
  4. matlab 离散傅里叶变换_时域上的采样VS频域上的周期延拓。用离散傅里叶变换直观地演示...
  5. Sonya and Robots(set应用)
  6. IEEE 1588和IEEE 802.1AS的版本和关系
  7. 荷马史诗——解题报告
  8. MOSS Project Server 2007
  9. 【一文搞懂】FD_SET的使用
  10. 阿里p7架构师带你领略JMM
  11. 小蓝本 第一本 《因式分解技巧》 第八章 多项式的一次因式 笔记 (第八天)
  12. 全国计算机等级考试一级ps操作,计算机等级考试一级Photoshop操作如何制作彩塑字...
  13. 人工智能还是人工学习
  14. 「企业安全架构」EA874:信息安全架构
  15. 独立mysql安装,LAMP中mysql独立安装
  16. 怎么用EDIUS让滚动字幕停下来
  17. linux下 eps怎么打开方式,eps文件怎么用ps打开
  18. SpringBoot项目启动,80端口被占用解决方法
  19. bing chrome_怀抱的好友:如何使Google Chrome使用Microsoft Bing搜索
  20. WebStorm激活码输入后报错_Mac、win10:this license xxx has been cancelled

热门文章

  1. 计算机行业是更看重学历还是技术?16年技术很重要,21年技术最重要
  2. Canvas网络教学平台-升级
  3. 如何对代码执行高亮显示的方法
  4. 用Python保住“设计大哥“的头发,直接甩给他10000张参考图,爬虫采集【稿定设计】平面模板素材
  5. 方舟os比鸿蒙好听,华为“鸿蒙OS”系统海外首亮相,改名“方舟OS”!
  6. 项目管理案例:棋到中局,总经理与研发总监的对弈【转】
  7. 2023年扬州大学广播电视考研上岸前辈初复试备考经验
  8. nginx 验证配置文件
  9. spring框架面试题(自己学习的目的)
  10. python音乐下载器交互界面设计_Python爬虫实战:制作各大音乐平台的聚合的音乐下载器...