ホームページ バックエンド開発 PHPチュートリアル ユーザーのWeChat個人情報を取得するためのphp WeChatパブリックアカウントの開発

ユーザーのWeChat個人情報を取得するためのphp WeChatパブリックアカウントの開発

Apr 19, 2018 pm 02:35 PM
php 個人的 ユーザー


多くの開発者は、WeChat 公式アカウントを開発するときにユーザーのアバターを取得する必要があります。それが個人の WeChat アカウントの場合、WeChat 公式アカウントのすべてのインターフェース権限を取得するために「パブリック プラットフォーム テスト アカウント」を申請する必要があります。

まず WeChat から送信された access_token を取得し、次に openid と access_token を使用して WeChat サーバーから送信されたユーザー メッセージを json 形式で取得します。 最後に、josn_decode を使用してそれを変換し、ユーザーの詳細メッセージを取得します。コードを記述する前にそれを実行してください。 インターフェイスの操作は次のとおりです。


まず、下の図に示すように、WeChat パブリック プラットフォームに入ります。


開発者ツールをクリックし、次にオンライン インターフェイス デバッグをクリックします。下の図に示すように、インターフェイス選択インターフェイスに入ります


クリックして下のページに入り、インターフェイスタイプで選択します: ユーザー管理、インターフェイスリストで選択します: ユーザーアカウント情報の取得インターフェイス/ユーザー/情報。

ログイン後にコピー

次に、WeChat 開発ドキュメントを確認して、access_token を取得し、appid を使用します。そして、appsecret は以下のとおりです


クリックして appsecret を有効にして取得し、ブラウザの URL に入力します:

https ://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret =$appsecret" URL。$appid は上の図の appid 文字列、$appsecret は開発者パスワードです。 2 つの変数を文字列に置き換えて (引用符が削除されていることに注意してください)、Enter キーをクリックして、WeChat サーバーから送信されたメッセージを取得します。 access_token およびexpires_in データについては、取得した access_token 文字列をインターフェイス デバッグ ページにコピーします。プラットフォームをフォローした後のテストアカウントのIDは暗号化されています。取得方法については、前の記事を参照するか、Baiduでも使用できます(緑色の確認が表示されます)。入力が完了したら)、クリックして問題を検出します。


取得される情報は次のとおりです。


これで、access_token を取得するコードを追加してみましょう。個人情報;

public function getaccss_token(){
		$table = 'Access_token';
		$useraccess_token = Db::table('Access_token')->select();
		$appid = "你的appid";
		$appsecret = "你的appsecret";
		$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
		//判断是不是第一次获取access_token		
		if(!count($useraccess_token)){			
			$ch = curl_init();
			curl_setopt($ch, CURLOPT_URL, $url);
			curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
			curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
			$output = curl_exec($ch);
			curl_close($ch);
			$jsoninfo = json_decode($output, true);
			$access_token = $jsoninfo["access_token"];			
			$data=['access_token'=>$access_token,'expires_time'=>($jsoninfo['expires_in']+time()-200)];
			Db::table($table)->insert($data);
			return $access_token;
	}else if($useraccess_token[0][&#39;expires_time&#39;]<time()){//判断是否过期
		
			$ch = curl_init();
			curl_setopt($ch, CURLOPT_URL, $url);
			curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
			curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
			$output = curl_exec($ch);
			curl_close($ch);
			$jsoninfo = json_decode($output, true);//转换格式
			$access_token = $jsoninfo["access_token"];			
			$data=[&#39;access_token&#39;=>$access_token,&#39;expires_time&#39;=>($jsoninfo[&#39;expires_in&#39;]+time()-200)];
			Db::table($table)->where(&#39;expires_time&#39;,$useraccess_token[0][&#39;expires_time&#39;])->update($data);//更新数据库;
			return $access_token;
	}else{	
		$access_token = $useraccess_token[0][&#39;access_token&#39;];
		return $access_token;
		
	}
	}
ログイン後にコピー

取得した access_token は 7200 秒間 (2 時間) のみ有効なので、ユーザーが公式にエントリするたびに実行する必要があります。アカウントの有効期限が切れているかどうかを確認する必要があります。有効期限が切れている場合は、上の図のいくつかの if 判定を使用してデータベースに保存します。もちろん、キャッシュから呼び出したり、ファイルに入れてファイルから呼び出すこともできます。access_token を取得した後、access_token と openid を使用して取得できます。以下に示すように、ユーザーの個人情報を取得します。

public function userinfo($openid){
		$access_token = $this->getaccss_token();
		//获取用户信息地址		
		$urlid = &#39;https://api.weixin.qq.com/cgi-bin/user/info?access_token=&#39;.$access_token.&#39;&openid=&#39;.$openid.&#39;&lang=zh_CN&#39;;
		$curl = curl_init(); // 启动一个CURL会话
		curl_setopt($curl, CURLOPT_URL, $urlid);
		curl_setopt($curl, CURLOPT_HEADER, 0);
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
		//curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);  // 从证书中检查SSL加密算法是否存在
		$tmpInfo = curl_exec($curl);     //返回api的json对象
		//关闭URL请求
		curl_close($curl);
                $userinfo = json_decode($tmpInfo,true);			
		return $userinfo;
	}
ログイン後にコピー

同じです。curl 関数関連の操作を通じて情報を取得し、形式を変換します。 最後の userinfo は、ユーザーの個人情報の配列です。

上記は、それを呼び出すだけです。 access_token~! を通じてユーザーの個人情報を取得する操作

関連する推奨事項:

php WeChat パブリック アカウントの開発、ユーザー アバターの取得、ダウンロード

以上がユーザーのWeChat個人情報を取得するためのphp WeChatパブリックアカウントの開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles