Heim >Backend-Entwicklung >PHP-Tutorial >Entwicklung eines öffentlichen PHP-WeChat-Kontos, um persönliche WeChat-Benutzerinformationen zu erhalten

Entwicklung eines öffentlichen PHP-WeChat-Kontos, um persönliche WeChat-Benutzerinformationen zu erhalten

不言
不言Original
2018-04-19 14:35:569244Durchsuche


Viele Entwickler benötigen den Avatar des Benutzers, wenn sie ein offizielles WeChat-Konto erstellen. Wenn es sich um ein persönliches WeChat-Konto handelt, müssen Sie ein „Testkonto für die öffentliche Plattform“ beantragen Offizielles WeChat-Konto.

Zuerst müssen Sie das von WeChat gesendete access_token abrufen und dann die vom WeChat-Server gesendete Benutzernachricht im JSON-Format abrufen josn_decode, um es zu konvertieren, um die Nachrichten des Benutzers zu erhalten.

Bevor Sie Code schreiben, können Sie den Schnittstellenbetrieb wie unten gezeigt testen:

Betreten Sie zunächst die öffentliche WeChat-Plattform Unten:


Klicken Sie auf Entwicklertools und dann auf Online-Schnittstellen-Debugging, wie in der Abbildung unten gezeigt, und rufen Sie die Schnittstelle zur Schnittstellenauswahl auf


Klicken Sie dann auf die Seite unten und wählen Sie in der Schnittstellenart „Benutzerverwaltung“ aus, wählen Sie in der Schnittstellenliste: „Benutzerprofilinformationen abrufen“ Schnittstelle/Benutzer/Info; 🎜> Sehen Sie sich dann die WeChat-Entwicklungsdokumentation an, um das zu verwendende Access_token zu erhalten. Gehen Sie wie unten gezeigt zur App-ID und zum App-Geheimnis Geben Sie es dann in die Browser-URL ein:

https://api.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret“ URL, wobei $appid die App-ID ist Die Zeichenfolge im obigen Bild ist $appsecret. Ersetzen Sie sie durch eine Zeichenfolge. Klicken Sie nach den beiden Variablen (achten Sie darauf, die Anführungszeichen zu entfernen) auf die Eingabetaste, um die vom WeChat-Server gesendeten Daten „access_token“ und „expires_in“ zu kopieren Die erhaltene access_token-Zeichenfolge ist die einzige ID des Testkontos, nachdem die Plattform verschlüsselt wurde. Informationen zum Abrufen finden Sie im vorherigen Artikel. Sie können auch die beiden Parameter verwenden Geben Sie die entsprechenden Eingabefelder auf der Schnittstellenseite ein (nach Abschluss der Eingabe wird eine grüne Bestätigung angezeigt) und klicken Sie dann, um das Problem zu erkennen. 

Die erhaltenen Informationen sind wie folgt:

Das bedeutet, dass Sie es erfolgreich erhalten haben, um den Zugriffstoken und die persönlichen Informationen zu erhalten.

Verwenden Sie die Curl-Funktion Um die von WeChat gesendete Nachricht abzufangen, ist sie nur für 7200 Sekunden gültig, was zwei Stunden entspricht. Überprüfen Sie, ob sie abgelaufen ist. Sie müssen es erneut abrufen, um es zu beurteilen. Ich habe den Zugriffstoken und die Zeit in der Datenbank gespeichert, damit Sie ihn jederzeit zur Erkennung abrufen können im Cache oder in einer Datei abgelegt und aus der Datei aufgerufen;

Nach Erhalt des access_token können die persönlichen Informationen des Benutzers über access_token und openid abgerufen werden, wie unten gezeigt:

ist auch Auf die gleiche Weise werden Informationen durch Vorgänge im Zusammenhang mit der Curl-Funktion abgefangen und das letzte Benutzerinformationsarray wird nur aufgerufen Benutzer über access_token Betrieb persönlicher Informationen ~!

Verwandte Empfehlungen:
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;
		
	}
	}

PHP WeChat öffentliches Konto entwickeln, Benutzer-Avatar erhalten und herunterladen

Das obige ist der detaillierte Inhalt vonEntwicklung eines öffentlichen PHP-WeChat-Kontos, um persönliche WeChat-Benutzerinformationen zu erhalten. 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