Using PHP to develop WeChat public platform configuration interface program

高洛峰
Release: 2018-05-15 16:26:15
Original
5739 people have browsed it

Before reading this article, you must make the following preparations:

1. Register a subscription account (via WeChat public platform https://mp.weixin.qq.com/);
2. Register for Sina Cloud and perform real-name authentication http://sae.sina.com.cn/
3. After real-name authentication for Sina Cloud, create a cloud application.
4. You need to know the basic knowledge of PHP.

1: Verification interface

1. Log in to our official account. Then click to enter the developer tools, in the lower left corner of the page after logging in.

2. Click to enter the developer documentation. Then click to start development and click on the access guide. We will see the following picture.

Using PHP to develop WeChat public platform configuration interface program

The picture says, connect to WeChat For public platform development, developers need to follow the following steps:

1. Fill in the server configuration
2. Verify the validity of the server address
3. Implement business logic based on the interface document.

The first step:Fill in the server configuration

After we log in to the WeChat official account, click on the basic development configuration in the lower right corner,

Using PHP to develop WeChat public platform configuration interface program

URL is the interface URL used by developers to receive WeChat messages and events. We will explain how to fill it in in detail later.

Token can be filled in at will (but everyone is different, If the subsequent submission fails, you can try to modify the Token). This Token will be compared with the Token contained in the interface to verify the security. The EncodingAESKey is manually filled in by the developer or randomly generated, and will be used as the message body encryption and decryption key.

The URL filled in requires us to have the address of our own server. Now we are going to the Sina Cloud application we registered before.

1. Log in to Sina Cloud and click Cloud Apply, click to enter the console. Create the

Using PHP to develop WeChat public platform configuration interface program

second-level domain name and application name as shown below. Just give it a name. Then click to enter. The place marked in red in the picture.

Using PHP to develop WeChat public platform configuration interface program

3. Click the arrow as shown below to enter the editing code

Using PHP to develop WeChat public platform configuration interface program

4. After that, the SAE interface will pop up. We need to create a php file in it, and then click to access it through URL. Then we copy this URL and put it on the URL we basically configured before.

Using PHP to develop WeChat public platform configuration interface program

Step 2:Verify that the message indeed comes from the WeChat server

Specificphp code As follows:

<?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();
?>
Copy after login

Note: $token in the code is different for everyone, we need to fill in our own, click on the developer tools, and then there is a public platform test on the right Account, click to enter, then we will see the interface configuration, copy the Token and put it into the code.

We copy this code into the SAE php file we just created, and then save it (remember to save Oh), and then click Access via URL,

If an error is reported (if the error message is a number), please click on the developer documentation, click Read before starting, there is an interface return code description, we can compare it Let’s see where the error is. Note: 0 means the request is successful.

2. Obtain access_token

Tip: access_token is the only global interface for the public account Calling credentials, public accounts need to use access_token when calling each interface. As developers, we must keep it properly. The validity period of access_token is currently 2 hours and needs to be refreshed regularly. Repeated acquisition will cause the last access_token to become invalid.

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

Using PHP to develop WeChat public platform configuration interface program

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方法
 */
?>
Copy after login

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

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

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

The above is the detailed content of Using PHP to develop WeChat public platform configuration interface program. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template