这篇文章主要为大家详细介绍了php微信公众平台配置接口开发程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

在阅读这篇文章之前你要做以下的准备:

1.注册一个订阅号(通过微信公众平台https://mp.weixin.qq.com/);

2.注册新浪云并实名认证http://sae.sina.com.cn/

3.实名认证新浪云之后,创建一个云应用.

4.你需要知道php基础知识.

一:验证接口

1.登录我们的公众号.然后点击进入开发者工具,在登录之后页面的左下角.

2.点击进入开发者文档.之后点击开始开发,点击接入指南,我们会看到如下图.

图片上有说,接入微信公众平台开发,开发者需要按照如下步骤完成:

1.填写服务器配置

2.验证服务器地址的有效性

3.依据接口文档实现业务逻辑.

第一步:填写服务器配置

我们登录微信公众号之后,右下角基本开发配置点进去,

URL是开发者用来接收微信消息和事件的接口URL.具体怎么填我们等下详细说.

Token可以随意填写(但是每个人都不一样的,如果后面提交失败可以试着修改Token),这个Token会和接口中包含的Token进行比对,从而验证安全性,EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。

填写的URL,需要我们有自己的服务器的地址,现在我们就要到我们之前注册的新浪云云应用了.

一.登录新浪云,点击云应用,点击进入控制台.如下图创建

二.级域名和应用名称,自己起个名字就好.然后点击进入下图红色标记的地方.

三.如下图箭头指示点击进入编辑代码

四.之后会弹出SAE的界面,我们需要在里面建立一个php文件,然后点击通过URL访问,之后我们把这个网址拷贝下来,放到我们之前基本配置的URL上.

第二步:验证消息的确来自微信服务器

具体的php代码如下:

// //最简单的验证方式

// echo $_GET["echostr"];

//验证是否来自于微信

function checkWeixin(){

//微信会发送4个参数到我们的服务器后台 签名 时间戳 随机字符串 随机数

$signature = $_GET["signature"];

$timestamp = $_GET["timestamp"];

$nonce = $_GET["nonce"];

$echostr = $_GET["echostr"];

$token = "qilipingmgl";

// 1)将token、timestamp、nonce三个参数进行字典序排序

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

sort($tmpArr,SORT_STRING);

// 2)将三个参数字符串拼接成一个字符串进行sha1加密

$str = implode($tmpArr);

$sign = sha1($str);

// 3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

if ($sign == $signature) {

echo $echostr;

}

}

checkWeixin();

?>

注意:代码中 $token 是每个人不同的,我们需要填写自己的,点击开发者工具,之后右边有公众平台测试账号,点击进入,之后我们会看到接口配置,把Token复制过来放到代码中.

我们把这个代码复制到我们刚创建的SAE的php文件里,再保存(记得要保存哦),然后点击通过URL访问,

如果报错了(报错的信息是数字的话),请点击开发者文档中,点击开始前必读,有个接口返回码说明,我们可以对照一下,错误在哪里, 注意:0的时候表示请求成功.

二.获取access_token

提示:access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token.我们作为开发者要妥善保存,access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

第一步,我们点击开发者文档,点击开始开发,点击获取access_token之后会看到,http请求方式:GET,然后一个网址,我们需要用到这个网址,如下图,

E0204D74-2EA6-4943-B93F-7E7C1E2FA88A.png

第二步:我们写GET请求的函数,获取access_token

class Weixin{

private $appID = "wxe62f370c4e2cade2";

private $appsecret = "58807091ae5a4c59ee3e47108184bdb7";

function getAccessToken(){

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appID}&secret={$this->appsecret}";

// return $this->httpGet($url);

//json字符串

$json = $this->httpGet($url);

//解析json

$obj = json_decode($json);

return $obj->access_token;

}

function httpGet($url){

//1.初始化

$curl = curl_init();

//配置curl

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

//执行curl

$res = curl_exec($curl);

//关闭curl

curl_close($curl);

return $res;

}

}

$wx = new Weixin();

echo $wx->getAccessToken();

/*

获取access_token方法 get方法

*/

?>

注意:代码中 $appID 和 $appsecret 是每个人不同的,我们需要填写自己的,点击开发者工具,之后右边有公众平台测试账号,点击进入,之后我们会看到测试号信息.然后复制过来放到代码中.

第三步:我们代码复制到SAEphp文件中,点击右键通过URL访问,如果返回 {"access_token":"ACCESS_TOKEN","expires_in":7200} 表示我们获取token成功.如果不幸报错了,没关系我们找错误,点击开发文档,点击开始前必读,点击接口返回码说明,我们对照一下,根据提示找错误就好了.

说道这里我们的配置接口就完成了,下一节我们继续微信开发->自定菜单创建接口.

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

php微信接口怎么开发,php微信公众平台配置接口开发程序的方法实例详解相关推荐

  1. 微信小程序云开发增删改查、按条件查询、排序方法实例详解。

    前言 身为一个后端程序员却一直对微信小程序云开发很感兴趣,自己也用云开发写了三个开源项目了,主要是不需要配置服务器,减少服务器的花费,钱省下来用来买猪肘子啃不香嘛,不过云开发的数据库是nosql类型, ...

  2. 微信公众开放平台开发02---微信公众平台PHP接口和java接口对比

    微信公众开放平台开发02---微信公众平台PHP接口和java接口对比 技术qq交流群:JavaDream:251572072 ----------------------------------- ...

  3. 微信公众开放平台开发01---微信公众平台介绍,以及开发准备

    微信公众开放平台开发01---微信公众平台介绍,以及开发准备 技术qq交流群:JavaDream:251572072 部分内容收集于网络: 1.先分享一份源码: 微信公众开放平台开发 -智能机器人ja ...

  4. python公众号留言功能详情_Python实现的微信公众号群发图片与文本消息功能实例详解...

    本文实例讲述了Python实现的微信公众号群发图片与文本消息功能.分享给大家供大家参考,具体如下: 在微信公众号开发中,使用api都要附加access_token内容.因此,首先需要获取access_ ...

  5. php小程序onload,微信小程序 loading 组件实例详解

    这篇文章主要介绍了微信小程序 loading 组件实例详解的相关资料,需要的朋友可以参考下 loading通常使用在请求网络数据时的一种方式,通过hidden属性设置显示与否 主要属性: wxml 显 ...

  6. java servlet init方法_JSP开发Servlet重写init()方法实例详解

    jsp开发servlet重写init()方法实例详解 写一个servlet时,有时需要我们重写该servlet的初始化方法,然后,究竟是重写init(servletconfig config),还是重 ...

  7. STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解)

    目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...

  8. 微信公众平台订阅号和服务号的区别详解

    什么是订阅号? 订阅号:为媒体和个人提供一种新的信息传播方式,主要功能是在微信侧给用户传达资讯:(功能类似报纸杂志,提供新闻信息或娱乐趣事) 适用人群:个人.媒体.企业.政府或其他组织. 什么是服务号 ...

  9. 微信公众平台获取用户地理位置之开发文档详解

    开通了上报地理位置接口的公众号,用户在关注后进入公众号会话时,会弹框让用户确认是否允许公众号使用其地理位置.弹框只在关注后出现一次,用户以后可以在公众号详情页面进行操作. 获取用户地理位置 获取用户地 ...

最新文章

  1. SqlServer时间函数的使用例子整理
  2. 《Visual C++ 开发从入门到精通》——2.7 变量
  3. 排序算法--排序算法汇总
  4. python学习记录(三)
  5. 单链表的前K个的逆序输出
  6. linux安全服务管理,Linux系统安全管理服务配置方法与技巧
  7. C语言简单题-找最大的字符串
  8. java集合框架05——ArrayList和LinkedList的区别
  9. (46)System Verilog数组查找最大最小值
  10. 2699!Redmi Note 11潮流限定版再次发售:全球首发“全系悬浮工艺”
  11. flutter 的gradle下载不了怎么办
  12. 深入理解C++11pdf
  13. 【剑指offer】最小的K个数
  14. 通俗易懂的数学建模示例(一)
  15. 微信小程序如何关闭云开发
  16. 【信息系统项目管理师】2018下半年系统集成项目管理工程师案例分析
  17. Tree Walk(二叉树的遍历)
  18. 定个小目标——做一款自己的游戏
  19. 当“大数据”落地,当技术接轨商业
  20. 某些Win10无法进入安全模式的修复

热门文章

  1. 手机恢复出厂设置命令_华为手机怎么恢复出厂设置 华为恢复出厂设置的两种方法...
  2. 数据结构-带头节点的单链表(C语言)超详细讲解
  3. 小菜闯江湖(出自52pj)
  4. 2022-1-15 计算机组成原理 —— 如何提升性能
  5. linux3.0操作系统下载,linux操作系统下载
  6. rtl8192fu无线网卡在Linux下打驱动
  7. php鼠标点击事件,javascript模拟鼠标点击事件的实例代码
  8. android opengl录制水印视频,Android 仿抖音之使用OpenGL实现抖音视频录制
  9. 电压放大倍数公式运放_运放电路设计【1】
  10. 【sublime】打开cpp文件中文乱码