Bei der Entwicklung von WeChat-Webseiten müssen viele Benutzer die grundlegenden Informationen des Benutzers wie Land, Provinz, Stadt, Spitzname usw. abrufen. Als Nächstes werden wir detailliert analysieren, wie diese basierend auf den Grundlagen von PHP erfolgreich abgerufen werden können Sprache.
Empfehlungen für entsprechende Videos: PHP-Programmierung vom Anfänger bis zum Experten
Erforderliche Bedingungen:
1) Offizielle Kontozertifizierung
2) Es gibt eine Webseiten-Autorisierungsschnittstelle, um grundlegende Benutzerinformationen zu erhalten
Hinweis : Kürzlich sagte ein Freund: Bei der Beantragung eines Testkontos auf der öffentlichen Plattform scheint es, dass die Benutzerinformationen nicht abgerufen werden können. Es ist normal, wenn Sie zu einem zertifizierten öffentlichen Konto wechseln!
Wenn dieses Problem auch bei Ihnen auftritt, können Sie es in einem zertifizierten öffentlichen Konto testen! Vielen Dank an alle für Ihre Unterstützung!
Geben Sie den Domänennamen der Autorisierungsrückrufseite ein.
Melden Sie sich bei der öffentlichen Plattform an Ändern Sie es-->Geben Sie Ihren Domainnamen ein:
Einfach speichern!
Erklärung zum Unterschied zwischen den beiden Bereichen der Webseitenautorisierung (offiziell)
1 Initiiert mit snsapi_base, da der Bereich verwendet wird, um Benutzer zu erhalten, die die Seiten-OpenID eingeben, und es wird stillschweigend autorisiert und springt automatisch zur Rückrufseite. Was der Benutzer wahrnimmt, ist, dass er direkt die Rückrufseite (oft eine Geschäftsseite) aufruft
2 Die mit snsapi_userinfo initiierte Webseitenautorisierung wird verwendet, um die grundlegenden Informationen des Benutzers zu erhalten. Diese Art der Autorisierung erfordert jedoch eine manuelle Zustimmung des Benutzers. Da der Benutzer zugestimmt hat, besteht keine Notwendigkeit, darauf zu achten, und die grundlegenden Informationen des Benutzers können nach der Autorisierung abgerufen werden.
3. Die „Schnittstelle zum Abrufen grundlegender Benutzerinformationen“ in der Benutzerverwaltungsoberfläche kann die grundlegenden Informationen des Benutzers nur dann abrufen, wenn der Benutzer mit dem offiziellen Konto interagiert oder das folgende Ereignis auslöst. Diese Schnittstelle, einschließlich anderer WeChat-Schnittstellen, erfordert, dass der Benutzer (d. h. openid) dem offiziellen Konto folgt, bevor sie erfolgreich aufgerufen werden kann.
Da Scope über zwei Modi verfügt, werden wir diese im Folgenden separat erläutern:
scope ist snsapi_base, dann muss der Benutzer dem offiziellen Konto folgen, um die Informationen zu erhalten
Erstellen Sie zunächst zwei Dateien: index.php und getUserInfo.php
Codebeispiel
index.php lautet wie folgt:
//scope=snsapi_base 实例 $appid='你的AppId'; $redirect_uri = urlencode ( 'http://你的域名/getUserInfo.php' ); $url ="https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=snsapi_base&state=1#wechat_redirect"; header("Location:".$url);
$appid = "你的AppId"; $secret = "你的AppSecret"; $code = $_GET["code"]; //第一步:取全局access_token $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$secret"; $token = getJson($url); //第二步:取得openid $oauth2Url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code"; $oauth2 = getJson($oauth2Url); //第三步:根据全局access_token和openid查询用户信息 $access_token = $token["access_token"]; $openid = $oauth2['openid']; $get_user_info_url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid&lang=zh_CN"; $userinfo = getJson($get_user_info_url); //打印用户信息 print_r($userinfo); function getJson($url){ $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); return json_decode($output, true); }
Codebeispiel
index.php lautet wie folgt:
//scope=snsapi_userinfo实例 $appid='你的AppId'; $redirect_uri = urlencode ( 'http://你的域名/getUserInfo.php' ); $url ="https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect"; header("Location:".$url);
$appid = "你的AppId"; $secret = "你的AppSecret"; $code = $_GET["code"]; //第一步:取得openid $oauth2Url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code"; $oauth2 = getJson($oauth2Url); //第二步:根据全局access_token和openid查询用户信息 $access_token = $oauth2["access_token"]; $openid = $oauth2['openid']; $get_user_info_url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid&lang=zh_CN"; $userinfo = getJson($get_user_info_url); //打印用户信息 print_r($userinfo); function getJson($url){ $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); return json_decode($output, true); }
Nach dem Erstellen der beiden Dateien index.php und getUserInfo.php
Testen Sie zuerst : Geltungsbereich ist snsapi_base
1) Folgen Sie zuerst dem öffentlichen Konto
2) Generieren Sie einen QR-Code mit der URL: http://Ihr Domainname/index.php!
3) Scannen Sie ihn mit WeChat
und dann testen: Scope ist snsapi_userinfo
1) Ersetzen Sie den Code
2) Entfolgen Sie dem aktuellen offiziellen Konto.
3) Scannen Sie dann mit WeChat den QR-Code, den Sie gerade generiert haben.
Verwandte Lernempfehlungen :
PHP-Programmierung(Video)
Das obige ist der detaillierte Inhalt vonBeispielanalyse zum Erhalten von Benutzerinformationen basierend auf der PHP-WeChat-Webseite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!