Heim >Backend-Entwicklung >PHP-Tutorial >So erhalten Sie Benutzerinformationen basierend auf der PHP-WeChat-Webseite

So erhalten Sie Benutzerinformationen basierend auf der PHP-WeChat-Webseite

墨辰丷
墨辰丷Original
2018-05-17 10:28:122740Durchsuche

Dieser Artikel bietet Ihnen hauptsächlich eine detaillierte Analyse des Prozesses der Verwendung von PHP zum Erstellen einer WeChat-Webseite, um grundlegende Benutzerinformationen zu erhalten, sowie eine Schritt-für-Schritt-Erklärung.

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 im Detail analysieren, wie diese basierend auf den Grundlagen erfolgreich abgerufen werden können der PHP-Sprache.

Erforderliche Bedingungen:

1) Authentifizierung eines öffentlichen Kontos

2) Es gibt eine Webseiten-Autorisierungsschnittstelle, um grundlegende Benutzerinformationen zu erhalten

Hinweis: Kürzlich sagte ein Freund, dass bei der Beantragung eines Testkontos auf der öffentlichen Plattform keine Benutzerinformationen eingeholt 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-->Developer Center-->Tabelle der Schnittstellenberechtigungen

Suchen Sie die Webseite zum Autorisieren und Abrufen grundlegender Benutzerinformationen und ändern Sie sie dann. Geben Sie Ihren Domainnamen wie folgt ein:

Speichern it!

Über die Webseite Erläuterung des Unterschieds zwischen den beiden Autorisierungsbereichen (offiziell)

1. Die Webseitenautorisierung wird wie gewohnt mit snsapi_base initiiert Rufen Sie die OpenID des Benutzers ab, der die Seite betritt, und springen Sie lautlos und automatisch zur Rückrufseite. Was der Benutzer wahrnimmt, ist, dass er direkt die Rückrufseite (häufig eine Geschäftsseite) aufruft

2. Webseitenautorisierung initiiert mit snsapi_userinfo, da der Bereich zum Abrufen der grundlegenden Informationen des Benutzers verwendet wird. Diese Art der Autorisierung erfordert jedoch die manuelle Zustimmung des Benutzers. Da der Benutzer zugestimmt hat, können die grundlegenden Informationen des Benutzers nach der Autorisierung ohne Aufmerksamkeit abgerufen werden.

3. Die „Benutzer-Basisinformationsschnittstelle“ in der Benutzerverwaltungsoberfläche kann die Basisinformationen des Benutzers basierend auf der OpenID des Benutzers erst abrufen, nachdem der Benutzer mit dem offiziellen Konto interagiert oder nachdem das Ereignis übertragen wurde nachdem Sie der Nachricht des Benutzers gefolgt sind. 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 der Bereich über zwei Modi verfügt, werden wir diese im Folgenden separat erläutern:

Der Bereich ist snsapi_base, dann muss der Benutzer dem offiziellen Konto folgen, um die Informationen zu erhalten

Erstellen Sie zunächst selbst 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);

getUserInfo.php lautet wie folgt:

$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);
}

Scope ist snsapi_userinfo Sie müssen dem offiziellen Konto folgen, um Informationen zu erhalten. Es wird jedoch eine Schnittstelle geben, auf die Benutzer zur Bestätigung klicken können! Es kommt einer Login-Autorisierung gleich!

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);

getUserInfo.php lautet wie folgt:

$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);
}

Testschritte:

Nach dem Erstellen der beiden Dateien index.php und getUserInfo.php

Zuerst testen: Geltungsbereich ist snsapi_base

1) Folgen Sie zuerst dem öffentlichen Konto

2) Generieren Sie eine zweite URL: http://Ihr Domainname /index.php QR-Code!

3) Mit WeChat scannen

Erneut testen: Geltungsbereich ist snsapi_userinfo

1) Ersetzen Sie den Code

2) Entfolgen Sie dem aktuellen öffentlichen Konto.

3) Scannen Sie dann den QR-Code, den Sie gerade mit WeChat generiert haben.

Verwandte Empfehlungen:

PHP implementiert die WeChat-Webseiten-Anmeldeautorisierungsentwicklung

PHP implementiert die WeChat-Webseiten-Autorisierungsanmeldung

Schritte zur Implementierung der autorisierten WeChat-Webseitenanmeldung mit Ajax (mit Code)

Das obige ist der detaillierte Inhalt vonSo erhalten Sie Benutzerinformationen basierend auf der PHP-WeChat-Webseite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn