微信公众平台实现获取用户OpenID的方法_PHP
本文实例讲述了微信公众平台实现获取用户OpenID的方法。分享给大家供大家参考。具体分析如下:
用户点击微信自定义菜单view类型按钮后,微信客户端将会打开开发者在按钮中填写的url值 (即网页链接),达到打开网页的目的,但是view不能获取用户的openid,需要使用微信“网页授权获取用户基本信息”高级接口结合使用,获得用户的登入个人信息。
具体方法:
1、配置网页授权回调域名,如 www.bitsCN.com
2、模拟公众号的第三方网页,http://www.bitsCN.com/getcodeurl.php
<?php if(isset($_SESSION['user'])){ print_r($_SESSION['user']); exit; } $APPID='公众号在微信的appid'; $REDIRECT_URI='http://www.bitsCN.com/callback.php'; $scope='snsapi_base'; //$scope='snsapi_userinfo';//需要授权 $url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$APPID.'&redirect_uri='.urlencode($REDIRECT_URI).'&response_type=code&scope='.$scope.'&state='.$state.'#wechat_redirect'; header("Location:".$url); ?>
3、第三方网页的回跳url中,首先从请求中取得code,然后根据code进一步换取openid和access_token,然后就可以根据openid和access_token调用微信的相关接口查询用户信息了。
<?php //http://www.bitsCN.com/callback.php $appid = "公众号在微信的appid"; $secret = "公众号在微信的app secret"; $code = $_GET["code"]; $get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code'; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$get_token_url); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); $res = curl_exec($ch); curl_close($ch); $json_obj = json_decode($res,true); //根据openid和access_token查询用户信息 $access_token = $json_obj['access_token']; $openid = $json_obj['openid']; $get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN'; $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$get_user_info_url); curl_setopt($ch,CURLOPT_HEADER,0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); $res = curl_exec($ch); curl_close($ch); //解析json $user_obj = json_decode($res,true); $_SESSION['user'] = $user_obj; print_r($user_obj); ?>
希望本文所述对大家基于php的微信公众平台开发有所帮助。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック

Python のファイル拡張子は、ファイルの形式または種類を示すためにファイル名の末尾に追加される接尾辞です。通常、「.txt」や「.py」など、3 文字または 4 文字とファイル名とピリオドで構成されます。オペレーティング システムとプログラムは、ファイル拡張子を使用して、ファイルの種類と処理方法を決定します。プレーンテキストファイルとして認識されます。 Python のファイル拡張子は、ファイル形式とデータの読み取りおよび書き込みに最適な方法を確立するため、ファイルの読み取りまたは書き込みを行うときに非常に重要です。たとえば、ファイル拡張子「.csv」は CSV ファイルを読み取るときに使用される拡張子であり、ファイルの処理には csv モジュールが使用されます。 Python でファイル拡張子を取得するアルゴリズム Python でファイル名の文字列を操作します。

math.Max 関数を使用して、一連の数値の最大値を取得します。数学やプログラミングでは、一連の数値の最大値を見つけることが必要になることがよくあります。 Go 言語では、数学パッケージの Max 関数を使用してこの関数を実現できます。この記事では、 math.Max 関数を使用して一連の数値の最大値を取得する方法と、対応するコード例を紹介します。まず、数学パッケージをインポートする必要があります。 Go 言語では、以下に示すように、import キーワードを使用してパッケージをインポートできます。

Google Authenticator はユーザー アカウントのセキュリティを保護するために使用されるツールであり、そのキーは動的検証コードを生成するために使用される重要な情報です。 Google Authenticator のキーを忘れて、セキュリティ コードでしか認証できない場合は、この Web サイトの編集者が Google セキュリティ コードの入手先について詳しく説明しますので、お役に立てれば幸いです。詳細を知る ユーザーは以下を読み続けてください。まず電話の設定を開き、設定ページに入ります。ページを下にスクロールして Google を見つけます。 Googleページに移動し、「Googleアカウント」をクリックします。アカウント ページに入り、確認コードの下にある [表示] をクリックします。パスワードを入力するか、指紋を使用して身元を確認します。 Google セキュリティ コードを取得し、そのセキュリティ コードを使用して Google の ID を確認します。

Java で LinkedHashSet から最後の要素を取得するということは、そのコレクション内の最後の要素を取得することを意味します。 Java には LinkedHashSets 内の最後の項目を取得するための組み込みメソッドはありませんが、挿入順序を壊さずにこの最後の要素を効率的に取得するための柔軟性と利便性を提供する効果的な手法がいくつかあります。これは、アプリケーションで効果的に対処できる問題に Java 開発者が取り組む必要があります。 。これらの戦略をソフトウェア プロジェクトに効果的に適用することで、この要件に対する最適なソリューションを実現できます。LinkedHashSetLinkedHashSet は、HashSet と HashSet を組み合わせた Java の効率的なデータ構造です。

国内の携帯電話の一般的な操作は非常に似ていますが、携帯電話のモデルやメーカーが異なると、デュアル SIM のインストール方法が異なる場合があるなど、細部ではまだいくつかの違いがあります。新しい携帯電話 Erzhenwo 12Pro もデュアル SIM デュアル スタンバイをサポートしていますが、この携帯電話にデュアル SIM をインストールするにはどうすればよいですか? Realme 12ProにデュアルSIMをインストールするにはどうすればよいですか?インストールする前に必ず携帯電話の電源を切ってください。ステップ 1: SIM カード トレイを見つける: 電話機の SIM カード トレイを見つける. 通常、Realme 12 Pro では、SIM カード トレイは電話機の側面または上部にあります。ステップ 2: 最初の SIM カードを挿入します. 専用の SIM カード ピンまたは小さな物体を使用して、SIM カード トレイのスロットに挿入し、最初の SIM カードを慎重に挿入します。

ファイルのサイズは、ハードドライブなどの特定のストレージデバイス上で特定のファイルが占めるストレージスペースの量です。ファイルのサイズはバイト単位で測定されます。このセクションでは、指定されたファイルのサイズをバイト、キロバイト、メガバイト単位で取得する Java プログラムを実装する方法について説明します。バイトはデジタル情報の最小単位です。 1 バイトは 8 ビットに相当します。 1 キロバイト (KB) = 1,024 バイト、1 メガバイト (MB) = 1,024KB、1 ギガバイト (GB) = 1,024MB、1 テラバイト (TB) = 1,024GB。ファイルのサイズは通常、ファイルの種類とそれに含まれるデータの量によって異なります。テキストドキュメントを例にとると、ファイルサイズはわずか数キロバイトですが、高解像度の画像やビデオファイルは

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

[最新の更新プログラムが利用可能になり次第入手する] オプションが見つからない、またはグレー表示されている場合は、開発者チャネルの Windows 11 ビルドを実行している可能性がありますが、これは正常です。その他の場合は、KB5026446 (22621.1778) 更新プログラムのインストール後に問題が発生します。 「最新のアップデートが利用可能になり次第、すぐに入手する」オプションを再び表示するためにできることは次のとおりです。 「最新のアップデートが入手可能になり次第入手する」オプションを元に戻すにはどうすればよいですか?以下の解決策のいずれかを開始する前に、最新の Windows 11 更新プログラムを確認してインストールしてください。 1. ViVeTool を使用して Microsoft Update カタログ ページに移動し、KB5026446 更新プログラムを探します。 PC にアップデートをダウンロードして再インストールします
