Home > Backend Development > PHP Tutorial > Use PHP to build a WeChat public account API interface

Use PHP to build a WeChat public account API interface

PHPz
Release: 2023-05-13 12:02:02
Original
1186 people have browsed it

In today's Internet era, WeChat official accounts have become an important marketing channel for more and more companies. If you want your WeChat official account to implement more functions, you often need to write corresponding interfaces. This article will use PHP language as an example to introduce how to build a WeChat public account API interface.

1. Preparation

Before writing the WeChat public account API interface, the developer needs to have a WeChat public account and apply for developer interface permissions in the WeChat public platform. After the application is successful, you can obtain the relevant developer AppID and AppSecret.

Secondly, you also need to know basic PHP language programming knowledge and be familiar with the API interface calling methods related to WeChat public account development.

2. Obtain WeChat Access Token

Before obtaining relevant information of WeChat public account users through the API interface, we must first obtain the Access Token. Access Token is a string that represents the identity of the WeChat official account. Different Access Tokens have different permissions.

The interface address for obtaining WeChat Access Token is https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET. APPID and APPSECRET are respectively the AppID and AppSecret obtained when applying for developer interface permissions.

We can send HTTP requests through PHP's cURL extension library to obtain the value of Access Token. The specific code is as follows:

function getAccessToken($appid, $appsecret) {
  $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  $output = curl_exec($ch);
  curl_close($ch);
  $json = json_decode($output, TRUE);
  $access_token = $json["access_token"];
  return $access_token;
}
Copy after login

3. Use the WeChat API interface to obtain user information

After obtaining the WeChat Access Token, we can use the API interface provided by the WeChat open platform to obtain user information. . Different API interfaces can obtain information of different granularities. Here we take obtaining basic user information as an example.

The interface address for using the WeChat API interface to obtain basic user information is https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN. Among them, ACCESS_TOKEN is the Access Token obtained before, OPENID is the openid of the target user, and lang is the language version.

Similarly, we can send HTTP requests through PHP's cURL extension library to obtain basic user information. The specific code is as follows:

function getUserInfo($access_token, $openid) {
  $url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid&lang=zh_CN";
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  $output = curl_exec($ch);
  curl_close($ch);
  $json = json_decode($output, TRUE);
  return $json;
}
Copy after login

4. Integrate into API interface and test

Finally, we integrate the code for obtaining Access Token and user information written earlier into an API interface. The API interface can be implemented using any web development framework. Here we take the Lumen microframework as an example.

// routes/web.php
$app->get('/wechat-api/user-info/{openid}', function($openid) use ($app) {
  $appid = 'your_appid';
  $appsecret = 'your_appsecret';
  $access_token = getAccessToken($appid, $appsecret);
  $user_info = getUserInfo($access_token, $openid);
  return response()->json($user_info);
});

// app/functions.php
function getAccessToken($appid, $appsecret) {
  $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  $output = curl_exec($ch);
  curl_close($ch);
  $json = json_decode($output, TRUE);
  $access_token = $json["access_token"];
  return $access_token;
}

function getUserInfo($access_token, $openid) {
  $url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid&lang=zh_CN";
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
  $output = curl_exec($ch);
  curl_close($ch);
  $json = json_decode($output, TRUE);
  return $json;
}
Copy after login

Start the Lumen application and test the API interface:

php -S localhost:8000 -t public

http://localhost:8000/wechat-api/user-info/your_openid
Copy after login

The above is the complete process of using PHP to build the WeChat public account API interface. Through the above steps, we can easily obtain the basic information of WeChat users to implement more functions on the WeChat official account.

The above is the detailed content of Use PHP to build a WeChat public account API interface. For more information, please follow other related articles on the PHP Chinese website!

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