最近WeChatインターフェースの開発に取り組んでいるので、WeChatでのログインを認証してユーザー情報を取得するこのインターフェースの開発プロセスをまとめます。
1. まず、WeChat 公式アカウントは、対応する AppID と AppSecret を取得する必要があります。WeChat ログインを申請し、審査に合格した場合にのみ、アクセス プロセスを開始できます。
2. 認証プロセス
1. プロセスの説明
(1). WeChat ユーザーがサードパーティ アプリケーションの認証を許可すると、WeChat はアプリケーションを起動するか、次の URL にリダイレクトします。サードパーティの Web サイトに認証一時チケット コード パラメーターを追加し、API を通じて access_token を交換します。 access_token を通じてユーザーの基本的なデータ リソースを取得したり、ユーザーが基本的な操作を実行できるように支援します。
2. access_token シーケンス図を取得します:
3. 開発 (私は CI フレームワークを使用します。実際には、どのフレームワークでも同じです。MVC モードでも可能です) 1. CODE をリクエストします
weixin.php
<?php class weixinController extends CI_Controller { public $userInfo; public $wxId; public function __construct(){ parent::__construct(); //只要用户一访问此模块,就登录授权,获取用户信息 $this->userInfo = $this->getWxUserInfo(); } /** * 确保当前用户是在微信中打开,并且获取用户信息 * * @param string $url 获取到微信授权临时票据(code)回调页面的URL */ private function getWxUserInfo($url = '') { //微信标记(自己创建的) $wxSign = $this->input->cookie('wxSign'); //先看看本地cookie里是否存在微信唯一标记, //假如存在,可以通过$wxSign到redis里取出微信个人信息(因为在第一次取到微信个人信息,我会将其保存一份到redis服务器里缓存着) if (!empty($wxSign)) { //如果存在,则从Redis里取出缓存了的数据 $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; } } //获取授权临时票据(code) $code = $_GET['code']; if (empty($code)) { if (empty($url)) { $url = rtirm($_SERVER['QUERY_STRING'], '/'); //到WxModel.php里获取到微信授权请求URL,然后redirect请求url redirect($this->model->wx->getOAuthUrl(baseUrl($url))); } } } } ?>
codeのControllerコードを取得
<?php class WxModel extends ModelBase{ public $appId; public $appSecret; public $token; public function __construct() { parent::__construct(); //审核通过的移动应用所给的AppID和AppSecret $this->appId = 'wx0000000000000000'; $this->appSecret = '00000000000000000000000000000'; $this->token = '00000000'; } /** * 获取微信授权url * @param string 授权后跳转的URL * @param bool 是否只获取openid,true时,不会弹出授权页面,但只能获取用户的openid,而false时,弹出授权页面,可以通过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コードを取得
リクエストパラメータの説明と戻り値の説明を添付します リクエストパラメータの説明:
レスポンス戻り値説明:
リクエストが成功するとリクエストパラメータのredirect_uriの値にリダイレクトされ、実際には$this->userInfo =に戻ります。 weixin.php の $this-> getWxUserInfo(); 行に移動し、再度 getWxUserInfo() メソッドを入力します。このとき、
行でもコードの値を取得できます。 。次に、2 番目のステップに進みます。
2。
リクエストパラメータの説明:
レスポンス戻り値の説明:エラーが返された場合は次のようになります:
3. インターフェースを呼び出します(ユーザー情報を取得します) ) access_token を介して取得 access_token の後、次の前提条件がインターフェース呼び出しに適用されます:
(1) access_tokec が有効でタイムアウトになっていない (2) WeChat ユーザーがサードパーティの対応するインターフェース スコープ (スコープ) を承認している。アプリケーションアカウント。 ユーザー情報を取得するためのコードは、ユーザー情報を取得するためのweixin.phprreee
rreee
modelユーザー情報を取得する
//获取授权临时票据(code) $code = $_GET['code'];
ユーザー情報を取得するカスタム関数
上記の3ステップでインターフェースを呼び出すことで、ユーザーのWeChatアカウント情報を取得できます。
WeChat の認証ログインとユーザー情報インターフェイスへのアクセスに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

WebStorm Mac版
便利なJavaScript開発ツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ホットトピック



