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代码如下:

<?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

<?php
 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成功.如果不幸报错了,没关系我们找错误,点击开发文档,点击开始前必读,点击接口返回码说明,我们对照一下,根据提示找错误就好了.

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

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

(0)

相关推荐

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

    代码如下: 更新日志: 2013-01-01 版本1.02014-03-15 增加图片.视频.语音的内容回复2014-04-09 增加菜单链接事件2014-04-10 修改文本回复的判定方法 复制代码 代码如下: <?php/*    方倍工作室    CopyRight 2014 All Rights Reserved*/ define("TOKEN", "weixin"); $wechatObj = new wechatCallbackapiTest();

  • php微信公众平台开发类实例

    本文实例讲述了php微信公众平台开发类.分享给大家供大家参考.具体分析如下: ThinkWechat.php类文件如下: <?php class Wechat { /** * 微信推送过来的数据或响应数据 * @var array */ private $data = array(); /** * 构造方法,用于实例化微信SDK * @param string $token 微信开放平台设置的TOKEN */ public function __construct($token) { $this

  • PHP memcache在微信公众平台的应用方法示例

    本文实例讲述了PHP memcache在微信公众平台的应用方法.分享给大家供大家参考,具体如下: 现在微信公众平台大多数互动都是用户发送信息->微信分析并返回结果,这种模式功能比较单一.这里介绍另一种互动模式:用户发送信息->微信分析信息并提示下一步操作->用户发送信息->.......->微信返回结果.本文介绍运用sae里的memcache实现以上模式. 思路: 1.用户发送消息,微信会记录用户唯一的openid,将它的值赋予$fromUsername. 2.用memcac

  • weiphp微信公众平台授权设置

    weiphp后台使用设置 实现在用户授权时候显示公众号的名字以及分享使用该服务号 使用步骤 1:在weiphp后台打开公众号管理-新增 2:输入公众号名字,原始ID,微信号 3:在这里公众号能查找到 4: 输入完成之后下一步,他会提供URL和token令牌.然后就要在微信公众号后台配置 6输入完成之后我,记录下key,appid和appSecret,输入在这里 7:按保存了之后, 在右上角选中你刚填写的服务号信息切换为当前公众号 8:打开基础插件-自定义菜单-新增 如果新增成功, 则保存成功,如

  • PHP对接微信公众平台消息接口开发流程教程

    一.写好接口程序 在你的服务器上上传好一个接口程序文件,如http://www.yourdomain.com/weixin.php  内容如下: 复制代码 代码如下: <?phpdefine("TOKEN", "weixin");//自己定义的token 就是个通信的私钥$wechatObj = new wechatCallbackapiTest();$wechatObj->valid();//$wechatObj->responseMsg();c

  • PHP中的Memcache详解

    一.Memcache简介 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力.它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached管理这些HashTable,所以速度非常快. 二.Memcache和memcached的区别 为什么会有Memcache和memcached两种名称?其实Memcache是

  • php微信公众平台开发之微信群发信息

    1.目的 完成在微信公众号中群发消息.这里只是完成简单的文字发送.也可以发送语音图片等,只是发送数据格式不同而已,下面有链接,可以查询数据类型的数据发送格式. 2.群发短信的流程 获取测试公众账号(有账号的可以不用测试账号,不过正式的账号限制比较多)用户关注上面的公众账号通过appid和appsecret获取我们的access_token通过access_token群发短信 3.获取测试公众账号 + 关注公众号 1).公众测试账号获取 访问上面的连接,选择"接口测试号申请"获得直接打开

  • 使用PHP进行微信公众平台开发的示例

    1. SAE 数据库的连接. 需要主机名和端口,以后的使用是一样的. @ $db = new mysqli(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS,'你的应用名'); 2.XML 的处理. 微信发送的消息格式都是 XML 格式,你返回的消息也必须是 XML 格式.从 XML 里提取数据,用 SimpleXML,强大又容易使用.包装成 XML 消息呢?把消息模板保存为字符串,然后用 sprintf 进行格式

  • PHP实现微信公众平台音乐点播

    1.构造微信提供的XML格式的音乐消息音乐的XML格式是这样的: 复制代码 代码如下: <xml>    <ToUserName><![CDATA[toUser]]></ToUserName>    <FromUserName><![CDATA[fromUser]]></FromUserName>    <CreateTime>12345678</CreateTime>    <MsgType

  • php实现基于微信公众平台开发SDK(demo)扩展的方法

    本文实例讲述了php实现基于微信公众平台开发SDK(demo)扩展的方法.分享给大家供大家参考.具体分析如下: 该扩展基于官方的微信公众平台SDK,这里只做了简单地封装,实现了一些基本的功能(如天气查询,翻译,自动聊天机器人,自定义菜单接口)仅供学习之用.代码如下: 复制代码 代码如下: define("TOKEN", "xingans"); $wechatObj = new wechatCallbackapiTest(); $wechatObj->respo

随机推荐