ホームページ >バックエンド開発 >PHPチュートリアル >PHPを使用してWeChatパブリックプラットフォームをフォローしているユーザーの基本情報を取得する方法

PHPを使用してWeChatパブリックプラットフォームをフォローしているユーザーの基本情報を取得する方法

墨辰丷
墨辰丷オリジナル
2018-06-07 15:13:236400ブラウズ

この記事では、PHP が WeChat パブリック プラットフォームをフォローしているユーザーの基本情報を取得する方法を主に紹介します。興味のある方はぜひ参考にしてください。

WeChat とサードパーティ Web サイトの組み合わせは、多くの顧客がよく求めるソリューションです。ここでは、WeChat ユーザーの基本情報を取得し、サードパーティの Web サイトに直接ログインする方法を簡単に紹介します。

WeChat パブリック アカウントがパブリック アカウントをフォローすると、一意の OpenID が生成されます。このとき、それを使用して WeChat サーバーにユーザーの基本情報 (アバター、ニックネームなど) を取得するよう要求する必要があります。 。

詳細な手順については、WeChat 開発ドキュメントを参照してください。

取得手順は次のとおりです。

1 ステップ 1: ユーザーはコードを承認して取得することに同意します。
2 ステップ 2: コードを交換します。 Web ページの認証 access_token
3 ステップ 3: access_token を更新します (必要な場合)
4 ステップ 4: ユーザー情報を取得します (スコープは snsapi_userinfo である必要があります)
5 添付ファイル: 認証証明書 (access_token) が有効であるかどうかを確認します。 valid

1. WeChat パブリック プラットフォーム - デベロッパー センター: Web ページの認証を通じてユーザーの基本情報を取得します。[変更] をクリックし、Web ページのコールバック ドメイン名を構成します

# 2. コードを取得するためのユーザー承認

必要なリソース:

$appid = '******************** **';

$appsecret = '***** **********************';

注: redirect_url は承認後のリダイレクト用のコールバック リンク アドレス。リンクを処理するには urlencode を使用してください。

設定済みの $url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri=http:// を Web サイトの入り口 jixian に追加します。 .c.zmit.cn/&response_type=code&scope=snsapi_userinfo&state=123&connect_redirect=1#wechat_redirect';

そして異議申し立て URL へのアクセスをリクエストします。

ユーザーが認証されると、設定されたドメイン名がコールバックされ、必要なコードが URL パラメーターに結合されます。これを取得するには、$_GET['code'] を直接使用します。 !

3. コードを通じて Web ページ認証の access_token と openid を取得します。

$token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$ appid .'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code';

$token = json_decode(file_get_contents($token_url));
$opendid= $token-> openid ;
$access_token = $token->access_token;

4. ユーザー情報の取得

$info_url = 'https://api.weixin.qq.com/sns/ userinfo ?access_token='.$access_token.'&openid='.$opendid.'⟨=zh_CN';

$info = json_decode(file_get_contents($info_url));
$data['name'] = $ info ->nickname;
$data['image'] = $info->headimgurl;
print_r($info);

5. ユーザーの openid およびその他の情報を取得した後、 openid がある限り、それをデータベースに保存できます。WeChat ユーザーが Web サイトにログインしているのと同じです。

AppID と AppSecret によって取得された access_token を使用して、グローバル アクセス トークンを通じてユーザーの基本情報を取得します。

1 ユーザーがメッセージをフォローまたは返信すると、ユーザーの OpenID を取得できます。

<xml>
 <ToUserName><![CDATA[gh_b629c48b653e]]></ToUserName>
 <FromUserName><![CDATA[ollB4jv7LA3tydjviJp5V9qTU_kA]]></FromUserName>
 <CreateTime>1372307736</CreateTime>
 <MsgType><![CDATA[event]]></MsgType>
 <Event><![CDATA[subscribe]]></Event>
 <EventKey><![CDATA[]]></EventKey>
</xml>

FromUserName は OpenID

2 です。次に、access_token インターフェイスを使用してグローバル アクセス トークンをリクエストします。

https://api.weixin.qq .com/cgi- bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

戻り結果:

{
 "access_token": "NU7Kr6v9L9TQaqm5NE3OTPctTZx797Wxw4Snd2WL2HHBqLCiXlDVOw2l-Se0I-WmOLLniAYLAwzhbYhXNjbLc_KAA092cxkmpj5FpuqNO0IL7bB0Exz5s5qC9Umypy-rz2y441W9qgfnmNtIZWSjSQ",
 "expires_in": 7200
}

3 次に、グローバル ACCESS_TOKEN を使用して OpenID の詳細を取得します

https://api .weixin.qq .com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID

次のように返されます:

{

"subscribe": 1,
"openid": "oLVPpjqs2BhvzwPj5A-vTYAX4GLc" ,
"ニックネーム": "ハリネズミベイビー",
"性別": 1,
"言語": "zh_CN",
"都市": "深セン",
"省" : "広東省",
"国": "中国",
"headimgurl": "http://wx.qlogo.cn/mmopen/JcDicrZBlREhnNXZRudod9PmibRkIs5K2f1tUQ7lFjC63pYHaXGxNDgMzjGDEuvzYZbFOqtUXaxSdoZG6iane5ko9H30krI bzGv/0",
"subscribe_time": 1386160805
}

この時点でユーザーの基本情報が取得されます。

この方法は、以下の公開アカウントをフォローしたときの返信のように、ユーザーがフォローするときにユーザーのニックネームを歓迎するメッセージを返信するのに最適です。 QRコードを読み取って体験してください。

要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。

関連する推奨事項:

PHP でファイルをアップロードする TP5 メソッド

PHP メソッドの TP5 リクエスト request オブジェクト

モノモーフィックなデザインパターンを実装するための php メソッド

以上がPHPを使用してWeChatパブリックプラットフォームをフォローしているユーザーの基本情報を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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