1. Obtenez un numéro Apikey, AppSecret et marchand
Enregistrez un compte public et un compte marchand
2. Obtenez l'OpenId de l'utilisateur
1. SET [Nom de domaine de page de rappel d'autorisation]
Explication officielle: Une fois que l'utilisateur a accepté d'autoriser le compte officiel sur la page d'autorisation Web, WeChat transmettra les données d'autorisation à une page de rappel. Le nom de domaine de la page de rappel ne prend pas en charge les adresses IP.
2. L'utilisateur accepte l'autorisation
J'ai écrit cette URL sous le menu WeChat et demandé à l'utilisateur de convenir lors de la saisie de cette page. Remarque: il semble être autorisé en silence, l'utilisateur ne sait pas
1.url:
https://open.weixin.qq.com/connect/oauth/authorize?appid=appid&redirect_uri=url&response_type=code&scope=snsapi_userinfo&state= park # wechat_redirect
Paramètres: Appid: l'identifiant unique du compte officiel
redirect_uri: L'URL redirigé est la page à rediriger après l'autorisation
Portée: portée de l'autorisation des applications
SNSAPI_BASE: Aucune page d'autorisation apparaît, saute directement, ne peut obtenir que l'utilisateur OpenID
SNSAPI_USERINFO: La page d'autorisation apparaît, vous pouvez obtenir le surnom, le sexe et l'emplacement via OpenID
État: paramètres avec redirection
2. Une fois l'utilisateur d'accord, un code sera généré, avec seulement une période de minutes valide.
String code = request.getParameter ("code")3. Changer le code en OpenID
/ ** * Classe constante * @Author Rory.wu * * / CONSTANTS DE CLASSE PUBLIQUE {// Création de tiers d'identification de l'utilisateur de l'utilisateur est apprid = ""; "";; = autorisation_code ";} / ** * Classe d'outils généraux * @author rory.wu * @version. String requestUrl, string requestMethod, string outputstr) {jsonObject jsonObject = null; Log.Error ("Connexion Timeout:" + ce.getMessage ());} Catch (exception e) {Log.Error ("Https Request Exception:" + e.getMessage ()); Uffer httpsRequest (String Dequeurl, String DequestMethod, STORK SORTIE) lève NosuchalgorithMexception, NosuchProvideRexception, KeyManagementxception, MalformedUrlex Ceception, ioException, ProtoColException, UnsupportDedenCoDSH l.openconnection (); Connection.SetDooutput (true); output.getBytes ("utf-"); BufferedReader = new BufferedReader (InputStreamReader); String Str = null; StringBuffer Buffer = new StringBuffer (); )); * / private void setOpenID (chaîne de code) {session.put ("code", code); string oauth_url = constants.oauth_url.replace ("appid", constants.appid) .replace ("secret", constants.appret). remplacer (code ", string .valueof (session.get (" code ")); Log.info ("JSONObject:" + JSONObject); ct.getString ("openId"); ":," Refresh _Token ":" Refresh_Token "," OpenID ":" OpenID "," Scope ":" Scope "," UnionId ":" o_bmasdasdsad_sgvthmzopfl "} est invalide: {" errcode ":," errmsg ": "Co de" invalide "}Le contenu ci-dessus est le paiement du compte public WeChat partagé par le rédacteur en chef de Wulin.com (i) Comment obtenir l'OpenID de l'utilisateur?