近排在做微信接口開發(fā),所以總結(jié)一下微信授權(quán)登錄并獲取用戶信息 這個(gè)接口的開發(fā)流程。
一、首先你的微信公眾號要獲得相應(yīng)的AppID和AppSecret,申請微信登錄且通過審核后,才可開始接入流程。
二、授權(quán)流程
1、流程說明
(1). 第三方發(fā)起微信授權(quán)登錄請求,微信用戶允許授權(quán)第三方應(yīng)用后,微信會拉起應(yīng)用或重定向到第三方網(wǎng)站,并且?guī)鲜跈?quán)臨時(shí)票據(jù)code參數(shù);?
(2). 通過code參數(shù)加上AppID和AppSecret等,通過API換取access_token;
(3). 通過access_token進(jìn)行接口調(diào)用,獲取用戶基本數(shù)據(jù)資源或幫助用戶實(shí)現(xiàn)基本操作。
2、獲取access_token時(shí)序圖:
三、開發(fā)(我的用是CI框架,其實(shí)用什么框架都一樣,MVC模式就行了)
1、請求CODE
weixin.php
<?php class weixinController extends CI_Controller { public $userInfo; public $wxId; public function __construct(){ parent::__construct(); //只要用戶一訪問此模塊,就登錄授權(quán),獲取用戶信息 $this->userInfo = $this->getWxUserInfo(); } /** * 確保當(dāng)前用戶是在微信中打開,并且獲取用戶信息 * * @param string $url 獲取到微信授權(quán)臨時(shí)票據(jù)(code)回調(diào)頁面的URL */ private function getWxUserInfo($url = '') { //微信標(biāo)記(自己創(chuàng)建的) $wxSign = $this->input->cookie('wxSign'); //先看看本地cookie里是否存在微信唯一標(biāo)記, //假如存在,可以通過$wxSign到redis里取出微信個(gè)人信息(因?yàn)樵诘谝淮稳〉轿⑿艂€(gè)人信息,我會將其保存一份到redis服務(wù)器里緩存著) if (!empty($wxSign)) { //如果存在,則從Redis里取出緩存了的數(shù)據(jù) $userInfo = $this->model->redisCache->getData("weixin:sign_{$wxSign}"); if (!empty($userInfo)) { //獲取用戶的openid $this->wxId = $userInfo['openid']; //將其存在cookie里 $this->input->set_cookie('wxId', $this->wxId, 60*60*24*7); return $userInfo; } } //獲取授權(quán)臨時(shí)票據(jù)(code) $code = $_GET['code']; if (empty($code)) { if (empty($url)) { $url = rtirm($_SERVER['QUERY_STRING'], '/'); //到WxModel.php里獲取到微信授權(quán)請求URL,然后redirect請求url redirect($this->model->wx->getOAuthUrl(baseUrl($url))); } } } } ?>
獲取code的Controller代碼
Wxmodel.php
<?php class WxModel extends ModelBase{ public $appId; public $appSecret; public $token; public function __construct() { parent::__construct(); //審核通過的移動應(yīng)用所給的AppID和AppSecret $this->appId = 'wx0000000000000000'; $this->appSecret = '00000000000000000000000000000'; $this->token = '00000000'; } /** * 獲取微信授權(quán)url * @param string 授權(quán)后跳轉(zhuǎn)的URL * @param bool 是否只獲取openid,true時(shí),不會彈出授權(quán)頁面,但只能獲取用戶的openid,而false時(shí),彈出授權(quán)頁面,可以通過openid獲取用戶信息 * */ public function getOAuthUrl($redirectUrl, $openIdOnly, $state = '') { $redirectUrl = urlencode($redirectUrl); $scope = $openIdOnly ? 'snsapi_base' : 'snsapi_userinfo'; $oAuthUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={$this->appId}&redirect_uri={$redirectUrl}&response_type=code&scope=$scope&state=$state"; return $oAuthUrl; } 獲取code的Model代碼
獲取code的Model代碼
這里附上請求參數(shù)說明和返回值說明
請求參數(shù)說明:
響應(yīng)返回值說明:
當(dāng)請求成功,會redirect到請求參數(shù)中的redirect_uri的值中去,其實(shí)又回到weixin.php的$this->userInfo = $this->getWxUserInfo();這行去,然后再一次進(jìn)入到getWxUserInfo()方法,此時(shí)
//獲取授權(quán)臨時(shí)票據(jù)(code) $code = $_GET['code'];
這行也已經(jīng)能獲取得到code的值了。接著進(jìn)行第二步。
2、通過code獲取access_token
weixin.php
userInfo = $this->getWxUserInfo(); } /** * 確保當(dāng)前用戶是在微信中打開,并且獲取用戶信息 * * @param string $url 獲取到微信授權(quán)臨時(shí)票據(jù)(code)回調(diào)頁面的URL */ private function getWxUserInfo($url = '') { //微信標(biāo)記(自己創(chuàng)建的) $wxSign = $this->input->cookie('wxSign'); //先看看本地cookie里是否存在微信唯一標(biāo)記, //假如存在,可以通過$wxSign到redis里取出微信個(gè)人信息(因?yàn)樵诘谝淮稳〉轿⑿艂€(gè)人信息,我會將其保存一份到redis服務(wù)器里緩存著) if (!empty($wxSign)) { //如果存在,則從Redis里取出緩存了的數(shù)據(jù) $userInfo = $this->model->redisCache->getData("weixin:sign_{$wxSign}"); if (!empty($userInfo)) { //獲取用戶的openid $this->wxId = $userInfo['openid']; //將其存在cookie里 $this->input->set_cookie('wxId', $this->wxId, 60*60*24*7); return $userInfo; } } //獲取授權(quán)臨時(shí)票據(jù)(code) $code = $_GET['code']; if (empty($code)) { if (empty($url)) { $url = rtirm($_SERVER['QUERY_STRING'], '/'); //到WxModel.php里獲取到微信授權(quán)請求URL,然后redirect請求url redirect($this->model->wx->getOAuthUrl(baseUrl($url))); } } /***************這里開始第二步:通過code獲取access_token****************/ $result = $this->model->wx->getOauthAccessToken($code); //如果發(fā)生錯(cuò)誤 if (isset($result['errcode'])) { return array('msg'=>'授權(quán)失敗,請聯(lián)系客服','result'=>$result); } //到這一步就說明已經(jīng)取到了access_token $this->wxId = $result['openid']; $accessToken = $result['access_token']; $openId = $result['openid']; //將openid和accesstoken存入cookie中 $this->input->set_cookie('wx_id', $this->wxId, 60*60*24*7); $this->input->set_cookie('access_token', $accessToken); 獲取access_token的控制器代碼
獲取access_token的控制器代碼
WxModel.php
<?php class WxModel extends ModelBase{ public $appId; public $appSecret; public $token; public function __construct() { parent::__construct(); //審核通過的移動應(yīng)用所給的AppID和AppSecret $this->appId = 'wx0000000000000000'; $this->appSecret = '00000000000000000000000000000'; $this->token = '00000000'; } /** * 獲取微信授權(quán)url * @param string 授權(quán)后跳轉(zhuǎn)的URL * @param bool 是否只獲取openid,true時(shí),不會彈出授權(quán)頁面,但只能獲取用戶的openid,而false時(shí),彈出授權(quán)頁面,可以通過openid獲取用戶信息 * */ public function getOAuthUrl($redirectUrl, $openIdOnly, $state = '') { $redirectUrl = urlencode($redirectUrl); $scope = $openIdOnly ? 'snsapi_base' : 'snsapi_userinfo'; $oAuthUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={$this->appId}&redirect_uri={$redirectUrl}&response_type=code&scope=$scope&state=$state#wechat_redirect"; return $oAuthUrl; } /** * 獲取access_token */ public function getoAuthAccessToken($code) { return json_decode(file_get_contents("https://api.weixin.qq.com/sns/oauth2/access_token?appid={$this->AppId}&secret={$this->AppSecret}&code={$authCode}&grant_type=authorization_code",true); } 獲取access_token的Model代碼
獲取access_token的Model代碼
這里附上參數(shù)說明
請求參數(shù)說明:
響應(yīng)返回值說明:
當(dāng)返回錯(cuò)誤時(shí)是這樣子的:
3、通過access_token調(diào)用接口(獲取用戶信息)
獲取access_token后,進(jìn)行接口調(diào)用,有以下前提:
?。?)access_tokec有效且未超時(shí);
(2)微信用戶已授權(quán)給第三方應(yīng)用賬號相應(yīng)的接口作用域(scope)。
以下是獲取用戶信息的代碼
weixin.php
userInfo = $this->getWxUserInfo(); } /** * 確保當(dāng)前用戶是在微信中打開,并且獲取用戶信息 * * @param string $url 獲取到微信授權(quán)臨時(shí)票據(jù)(code)回調(diào)頁面的URL */ private function getWxUserInfo($url = '') { //微信標(biāo)記(自己創(chuàng)建的) $wxSign = $this->input->cookie('wxSign'); //先看看本地cookie里是否存在微信唯一標(biāo)記, //假如存在,可以通過$wxSign到redis里取出微信個(gè)人信息(因?yàn)樵诘谝淮稳〉轿⑿艂€(gè)人信息,我會將其保存一份到redis服務(wù)器里緩存著) if (!empty($wxSign)) { //如果存在,則從Redis里取出緩存了的數(shù)據(jù) $userInfo = $this->model->redisCache->getData("weixin:sign_{$wxSign}"); if (!empty($userInfo)) { //獲取用戶的openid $this->wxId = $userInfo['openid']; //將其存在cookie里 $this->input->set_cookie('wxId', $this->wxId, 60*60*24*7); return $userInfo; } } //獲取授權(quán)臨時(shí)票據(jù)(code) $code = $_GET['code']; if (empty($code)) { if (empty($url)) { $url = rtirm($_SERVER['QUERY_STRING'], '/'); //到WxModel.php里獲取到微信授權(quán)請求URL,然后redirect請求url redirect($this->model->wx->getOAuthUrl(baseUrl($url))); } } /***************這里開始第二步:通過code獲取access_token****************/ $result = $this->model->wx->getOauthAccessToken($code); //如果發(fā)生錯(cuò)誤 if (isset($result['errcode'])) { return array('msg'=>'授權(quán)失敗,請聯(lián)系客服','result'=>$result); } //到這一步就說明已經(jīng)取到了access_token $this->wxId = $result['openid']; $accessToken = $result['access_token']; $openId = $result['openid']; //將openid和accesstoken存入cookie中 $this->input->set_cookie('wx_id', $this->wxId, 60*60*24*7); $this->input->set_cookie('access_token', $accessToken); /*******************這里開始第三步:通過access_token調(diào)用接口,取出用戶信息***********************/ $this->userInfo = $this->model->wx->getUserInfo($openId, $accessToken); //自定義微信唯一標(biāo)識符 $wxSign =substr(md5($this->wxId.'k2a5dd'), 8, 16); //將其存到cookie里 $this->input->set_cookie('wxSign', $wxSign, 60*60*24*7); //將個(gè)人信息緩存到redis里 $this->library->redisCache->set("weixin:sign_{$wxSign}", $userInfo, 60*60*24*7); return $userInfo; } } ?> 獲取用戶信息的Controller
獲取用戶信息的Controller
WxModel.php
<?php class WxModel extends ModelBase{ public $appId; public $appSecret; public $token; public function __construct() { parent::__construct(); //審核通過的移動應(yīng)用所給的AppID和AppSecret $this->appId = 'wx0000000000000000'; $this->appSecret = '00000000000000000000000000000'; $this->token = '00000000'; } /** * 獲取微信授權(quán)url * @param string 授權(quán)后跳轉(zhuǎn)的URL * @param bool 是否只獲取openid,true時(shí),不會彈出授權(quán)頁面,但只能獲取用戶的openid,而false時(shí),彈出授權(quán)頁面,可以通過openid獲取用戶信息 * */ public function getOAuthUrl($redirectUrl, $openIdOnly, $state = '') { $redirectUrl = urlencode($redirectUrl); $scope = $openIdOnly ? 'snsapi_base' : 'snsapi_userinfo'; $oAuthUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={$this->appId}&redirect_uri={$redirectUrl}&response_type=code&scope=$scope&state=$state#wechat_redirect"; return $oAuthUrl; } /** * 獲取access_token */ public function getoAuthAccessToken($code) { return json_decode(file_get_contents("https://api.weixin.qq.com/sns/oauth2/access_token?appid={$this->AppId}&secret={$this->AppSecret}&code={$authCode}&grant_type=authorization_code",true); } /** * 獲取用戶信息 */ public function getUserInfo($openId, $accessToken) { $url = 'https://api.weixin.qq.com/sns/userinfo'; //獲取用戶微信賬號信息 $userInfo = $this->callApi("$url?access_token=$accessToken&openid=$openId&lang=zh-CN"); if ($userInfo['errcode']) { return array('msg'=>'獲取用戶信息失敗,請聯(lián)系客服', $userInfo); } $userInfo['wx_id'] = $openId; return $userInfo; } /** * 發(fā)起Api請求,并獲取返回結(jié)果 * @param string 請求URL * @param mixed 請求參數(shù) (array|string) * @param string 請求類型 (GET|POST) * @return array */ public function callApi($apiUrl, $param = array(), $method = 'GET') { $result = curl_request_json($error, $apiUrl, $params, $method); //假如返回的數(shù)組有錯(cuò)誤碼,或者變量$error也有值 if (!empty($result['errcode'])) { $errorCode = $result['errcode']; $errorMsg = $result['errmsg']; } else if ($error != false) { $errorCode = $error['errorCode']; $errorMsg = $error['errorMessage']; } if (isset($errorCode)) { //將其插入日志文件 file_put_contents("/data/error.log", "callApi:url=$apiUrl,error=[$errorCode]$errorMsg"); if ($errorCode === 40001) { //嘗試更正access_token后重試 try { $pos = strpos(strtolower($url), 'access_token='); if ($pos !==false ) { $pos += strlen('access_token='); $pos2 = strpos($apiUrl, '&' ,$pos); $accessTokened = substr($apiUrl, $pos, $pos2 === false ? null : ($pos2 - $pos)); return $this->callApi(str_replace($accessTokened, $this->_getApiToken(true), $apiUrl), $param, $method); } }catch (WeixinException $e) { } } //這里拋出異常,具有的就不詳說了 throw new WeixinException($errorMessage, $errorCode); } return $result; } /** * 獲取微信 api 的 access_token 。 不同于 OAuth 中的 access_token ,參見 http://mp.weixin.qq.com/wiki/index.php?title=%E8%8E%B7%E5%8F%96access_token * * @param bool 是否強(qiáng)制刷新 accessToken */ private function _getApiToken($forceRefresh = false) { //先查看一下redis里是否已經(jīng)緩存過access_token $accessToken = $this->library->redisCache->get('Weixin:AccessToken'); if($forceRefresh || empty($accessToken)) { $result = $this->callApi("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appId}&secret={$this->appSecret}"); $accessToken = $result['access_token']; $expire = max(1, intval($result['expires_in']) - 60); //將access_token緩存到redis里去 $this->library->redisCache->set('Weixin:AccessToken', $accessToken, $expire); } return $accessToken; } ?>
獲取用戶信息的Model
Common.php
<?php /** * 發(fā)起一個(gè)HTTP(S)請求,并返回json格式的響應(yīng)數(shù)據(jù) * @param array 錯(cuò)誤信息 array($errorCode, $errorMessage) * @param string 請求Url * @param array 請求參數(shù) * @param string 請求類型(GET|POST) * @param int 超時(shí)時(shí)間 * @param array 額外配置 * * @return array */ public function curl_request_json(&$error, $url, $param = array(), $method = 'GET', $timeout = 10, $exOptions = null) { $error = false; $responseText = curl_request_text($error, $url, $param, $method, $timeout, $exOptions); $response = null; if ($error == false && $responseText > 0) { $response = json_decode($responseText, true); if ($response == null) { $error = array('errorCode'=>-1, 'errorMessage'=>'json decode fail', 'responseText'=>$responseText); //將錯(cuò)誤信息記錄日志文件里 $logText = "json decode fail : $url"; if (!empty($param)) { $logText .= ", param=".json_encode($param); } $logText .= ", responseText=$responseText"; file_put_contents("/data/error.log", $logText); } } return $response; } /** * 發(fā)起一個(gè)HTTP(S)請求,并返回響應(yīng)文本 * @param array 錯(cuò)誤信息 array($errorCode, $errorMessage) * @param string 請求Url * @param array 請求參數(shù) * @param string 請求類型(GET|POST) * @param int 超時(shí)時(shí)間 * @param array 額外配置 * * @return string */ public function curl_request_text(&$error, $url, $param = array(), $method = 'GET', $timeout = 15, $exOptions = NULL) { //判斷是否開啟了curl擴(kuò)展 if (!function_exists('curl_init')) exit('please open this curl extension'); //將請求方法變大寫 $method = strtoupper($method); $ch = curl_init(); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_HEADER, false); if (isset($_SERVER['HTTP_USER_AGENT'])) curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); if (isset($_SERVER['HTTP_REFERER'])) curl_setopt($ch, CURLOPT_REFERER, $_SERVER['HTTP_REFERER']); curl_setopt($ch, CURLOPT_AUTOREFERER, 1); switch ($method) { case 'POST': curl_setopt($ch, CURLOPT_POST, true); if (!empty($param)) { curl_setopt($ch, CURLOPT_POSTFIELDS, (is_array($param)) ? http_build_query($param) : $param); } break; case 'GET': case 'DELETE': if ($method == 'DELETE') { curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE'); } if (!empty($param)) { $url = $url.(strpos($url, '?') ? '&' : '?').(is_array($param) ? http_build_query($param) : $param); } break; } curl_setopt($ch, CURLINFO_HEADER_OUT, true); curl_setopt($ch, CURLOPT_URL, $url); //設(shè)置額外配置 if (!empty($exOptions)) { foreach ($exOptions as $k => $v) { curl_setopt($ch, $k, $v); } } $response = curl_exec($ch); $error = false; //看是否有報(bào)錯(cuò) $errorCode = curl_errno($ch); if ($errorCode) { $errorMessage = curl_error($ch); $error = array('errorCode'=>$errorCode, 'errorMessage'=>$errorMessage); //將報(bào)錯(cuò)寫入日志文件里 $logText = "$method $url: [$errorCode]$errorMessage"; if (!empty($param)) $logText .= ",$param".json_encode($param); file_put_contents('/data/error.log', $logText); } curl_close($ch); return $response; } ?>
獲取用戶信息的自定義函數(shù)
通過以上三步調(diào)用接口,就可以獲取到用戶的微信賬號信息了。
大家可以認(rèn)真看看代碼, 里面很多地方我都帶上了注釋,很容易理解。希望想學(xué)習(xí)的朋友可以認(rèn)真看看。
更多微信授權(quán)登錄并獲取用戶信息接口相關(guān)文章請關(guān)注PHP中文網(wǎng)!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP ialah bahasa skrip sumber terbuka yang digunakan secara meluas dalam pembangunan web dan pengaturcaraan sisi pelayan, terutamanya dalam pembangunan WeChat. Hari ini, semakin banyak syarikat dan pembangun mula menggunakan PHP untuk pembangunan WeChat kerana ia telah menjadi bahasa pembangunan yang benar-benar mudah dipelajari dan mudah digunakan. Dalam pembangunan WeChat, penyulitan dan penyahsulitan mesej merupakan isu yang sangat penting kerana ia melibatkan keselamatan data. Untuk mesej tanpa kaedah penyulitan dan penyahsulitan, penggodam boleh mendapatkan data dengan mudah, menimbulkan ancaman kepada pengguna.

Dalam pembangunan akaun awam WeChat, fungsi pengundian sering digunakan. Fungsi undian ialah cara yang bagus untuk pengguna mengambil bahagian dalam interaksi dengan pantas, dan ia juga merupakan alat penting untuk mengadakan acara dan meninjau pendapat. Artikel ini akan memperkenalkan anda cara menggunakan PHP untuk melaksanakan fungsi undian WeChat. Dapatkan kebenaran akaun rasmi WeChat Pertama, anda perlu mendapatkan kebenaran akaun rasmi WeChat. Pada platform awam WeChat, anda perlu mengkonfigurasi alamat API akaun awam WeChat, akaun rasmi dan token yang sepadan dengan akaun awam. Dalam proses pembangunan kami menggunakan bahasa PHP, kami perlu menggunakan PH yang disediakan secara rasmi oleh WeChat

Dengan populariti WeChat, semakin banyak syarikat mula menggunakannya sebagai alat pemasaran. Fungsi pemesejan kumpulan WeChat ialah salah satu cara penting bagi perusahaan untuk menjalankan pemasaran WeChat. Walau bagaimanapun, jika anda hanya bergantung pada penghantaran manual, ia adalah tugas yang sangat memakan masa dan susah payah untuk pemasar. Oleh itu, adalah amat penting untuk membangunkan alat pemesejan massa WeChat. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan alat penghantaran massa WeChat. 1. Kerja penyediaan Untuk membangunkan alat pemesejan massa WeChat, kita perlu menguasai perkara teknikal berikut: Pengetahuan asas PHP WeChat alat pembangunan platform awam: Sub

WeChat kini merupakan salah satu platform sosial dengan pangkalan pengguna terbesar di dunia Dengan populariti Internet mudah alih, semakin banyak syarikat mula menyedari kepentingan pemasaran WeChat. Apabila menjalankan pemasaran WeChat, perkhidmatan pelanggan adalah bahagian yang penting. Untuk mengurus tetingkap sembang perkhidmatan pelanggan dengan lebih baik, kami boleh menggunakan bahasa PHP untuk pembangunan WeChat. 1. Pengenalan kepada pembangunan PHP WeChat PHP ialah bahasa skrip bahagian pelayan sumber terbuka yang digunakan secara meluas dalam bidang pembangunan Web. Digabungkan dengan antara muka pembangunan yang disediakan oleh platform awam WeChat, kami boleh menggunakan bahasa PHP untuk menjalankan WeChat

Dalam pembangunan akaun awam WeChat, pengurusan tag pengguna ialah fungsi yang sangat penting, yang membolehkan pembangun memahami dan mengurus pengguna mereka dengan lebih baik. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi pengurusan teg pengguna WeChat. 1. Dapatkan openid pengguna WeChat Sebelum menggunakan fungsi pengurusan tag pengguna WeChat, kita perlu mendapatkan openid pengguna terlebih dahulu. Dalam pembangunan akaun awam WeChat, adalah amalan biasa untuk mendapatkan openid melalui kebenaran pengguna. Selepas kebenaran pengguna selesai, kami boleh mendapatkan pengguna melalui kod berikut

Memandangkan WeChat menjadi alat komunikasi yang semakin penting dalam kehidupan orang ramai, fungsi pemesejan tangkasnya digemari oleh sebilangan besar perusahaan dan individu. Bagi perusahaan, membangunkan WeChat menjadi platform pemasaran telah menjadi trend, dan kepentingan pembangunan WeChat secara beransur-ansur menjadi lebih menonjol. Antaranya, fungsi penghantaran kumpulan lebih banyak digunakan Jadi, sebagai pengaturcara PHP, bagaimana untuk melaksanakan rekod penghantaran mesej kumpulan? Berikut akan memberi anda pengenalan ringkas. 1. Memahami pengetahuan pembangunan yang berkaitan dengan akaun awam WeChat Sebelum memahami cara melaksanakan rekod penghantaran mesej kumpulan, I

Cara menggunakan PHP untuk membangunkan akaun awam WeChat Akaun awam WeChat telah menjadi saluran penting untuk promosi dan interaksi bagi banyak syarikat, dan PHP, sebagai bahasa Web yang biasa digunakan, juga boleh digunakan untuk membangunkan akaun awam WeChat. Artikel ini akan memperkenalkan langkah khusus untuk menggunakan PHP untuk membangunkan akaun awam WeChat. Langkah 1: Dapatkan akaun pembangun akaun rasmi WeChat Sebelum memulakan pembangunan akaun rasmi WeChat, anda perlu memohon akaun pembangun akaun rasmi WeChat. Untuk proses pendaftaran khusus, sila rujuk laman web rasmi platform awam WeChat

Dengan pembangunan Internet dan peranti pintar mudah alih, WeChat telah menjadi bahagian yang amat diperlukan dalam bidang sosial dan pemasaran. Dalam era yang semakin digital ini, cara menggunakan PHP untuk pembangunan WeChat telah menjadi tumpuan ramai pembangun. Artikel ini terutamanya memperkenalkan mata pengetahuan yang berkaitan tentang cara menggunakan PHP untuk pembangunan WeChat, serta beberapa petua dan langkah berjaga-jaga. 1. Persediaan persekitaran pembangunan Sebelum membangunkan WeChat, anda perlu menyediakan persekitaran pembangunan yang sepadan terlebih dahulu. Secara khusus, anda perlu memasang persekitaran operasi PHP dan platform awam WeChat
