Maison >développement back-end >tutoriel php >Explication détaillée de l'utilisation de PHP pour implémenter la connexion tierce QQ

Explication détaillée de l'utilisation de PHP pour implémenter la connexion tierce QQ

PHPz
PHPzoriginal
2023-04-03 11:49:501055parcourir

Dans l'environnement Internet actuel, la connexion tierce est devenue une fonctionnalité standard des sites Web ou des applications, y compris la connexion tierce QQ. Et comment utiliser PHP pour implémenter la connexion tierce QQ ? Présentons le processus en détail ci-dessous.

Tout d'abord, vous devez comprendre la plate-forme ouverte QQ Internet. QQ Internet fournit une série d'API, notamment l'accès aux sites Web, l'accès mobile et l'accès aux applications. Ce que nous devons utiliser ici, c'est l'accès au site Web.

Première étape : postuler à l'application QQ Internet

Vous devez vous rendre sur le site officiel de QQ Internet Open Platform, vous connecter à votre compte QQ, créer une application et obtenir l'identifiant de l'application et la clé de l'application.

Étape 2 : Guidez l'utilisateur vers la page de connexion Internet QQ

Les utilisateurs doivent se connecter avec leur propre compte QQ, accéder à la page d'accueil Internet QQ et autoriser notre site Web à se connecter.

Étape 3 : Obtenez access_token et openid

Une fois que l'utilisateur est autorisé à se connecter avec succès, QQ Internet rappellera l'URL de rappel que nous avons renseignée sur la plateforme Internet QQ et nous transmettra un paramètre de code via GET en utilisant ce paramètre de code. nous pouvons obtenir access_token et openid en demandant l'interface access_token de QQ Internet.

Le code est le suivant :

$appid = ''; //应用ID
$appkey = ''; //应用Key
$callback = ''; //回调地址

$code = $_GET['code'];

$get_token_url='https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id='.$appid.'&client_secret='.$appkey.'&code='.$code.'&redirect_uri='.$callback.'';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $get_token_url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$access_token = explode('&',curl_exec($ch))[0];

$access_token = str_replace('access_token=','',$access_token);

$get_openid_url = 'https://graph.qq.com/oauth2.0/me?access_token='.$access_token;

curl_setopt($ch, CURLOPT_URL, $get_openid_url);

$openid = trim(curl_exec($ch),'callback()');

$openid = json_decode($openid,true);

$openid = $openid['openid'];

Étape 4 : Obtenir les informations utilisateur

Après avoir obtenu access_token et openid, nous pouvons les utiliser pour demander à l'interface API d'obtenir des informations utilisateur. Il convient de noter ici que les paramètres appid et openid doivent être ajoutés au lien de requête pour obtenir les informations utilisateur correctes.

Le code est le suivant :

$get_user_info_url='https://graph.qq.com/user/get_user_info?'.'access_token='.$access_token.'&oauth_consumer_key='.$appid.'&openid='.$openid.'&format=json';

curl_setopt($ch, CURLOPT_URL, $get_user_info_url);

$qq_user_info = json_decode(curl_exec($ch),true);

Étape 5 : Traiter les informations utilisateur

Enfin, nous devons traiter les informations utilisateur obtenues à partir de QQ Internet, telles que le stockage des informations openid et utilisateur dans la base de données pour une utilisation future.

Si vous avez besoin d'autres interfaces, vous pouvez accéder à la plateforme ouverte Internet QQ pour consulter les documents pertinents et développer en fonction des besoins réels.

Ce qui précède est le processus de réalisation d'une connexion tierce QQ via PHP. J'espère que cela aidera tout le monde !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn