1. Obtenha o número Apikey, AppSecret e Merchant
Registrar uma conta pública e uma conta de comerciante
2. Obtenha o usuário openId
1. Defina [Nome do domínio da página de retorno de chamada da autorização]
Explicação oficial: Depois que o usuário concorda em autorizar a conta oficial na página de autorização da Web, o WeChat passará os dados de autorização para uma página de retorno de chamada. O nome de domínio da página de retorno de chamada não suporta endereços IP.
2. O usuário concorda em autorização
Eu escrevi este URL no menu WeChat e pedi ao usuário que concordei ao entrar nesta página. Nota: parece estar autorizado silenciosamente, o usuário não sabe
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
Parâmetros: Appid: o identificador exclusivo da conta oficial
Redirect_uri: O URL redirecionado é a página a ser redirecionada após a autorização
Escopo: escopo de autorização de aplicativos
SNSAPI_BASE: Nenhuma página de autorização aparece, pula diretamente, só pode obter o usuário OpenId
SNSAPI_USERINFO: A página de autorização aparece, você pode receber o apelido, gênero e localização através do OpenId
estado: parâmetros com redirecionamento
2. Depois que o usuário concordar, um código será gerado, com apenas um período válido de minutos.
String code = request.getParameter ("código")3. Altere o código para o OpenID
/** * Classe constante * @Author Rory.wu * */public class Constants {// Terceiro usuário Credenciais Public Static String Appid = ""; ""; = Authorization_code ";} / *** Classe de ferramenta geral* @Author Rory.wu* @version. String Requesturl, String RequestMethod, String OutputStr) {JsonObject JsonObject = NULL; Log.error ("Timeout de conexão:" Ce.getMessage ()); Uffer httpsRequest (String requesturl, string requestmethod, string output) lança NosuchalgorithMexception, nosuchproviderxception, KeyManagementException, MalformEdurlex cEption, iooException, UrlExcept (UrlTL) (UrlTL) (UrlTL) (UrlTEnTL) (UrlTEnTL) (UrlTEnTL) (Url) (UrlTEnTL) (UrlTEnTL) (UrlTEnTL) (UrlTEnTL) (UrlTEnTL) (UrlTEnTL) (UrlTEnTL) (UrlTEnTL) (UrlTEnTL) (UrlTEnTL) (UrlTEXC. l.Openconnection (); Connection.SetdoOutput (True); saída.getbytes ("utf-"); BufferReader = New BufferReader (InputStreamReader); ); */ private void SetOpenId (código da string) {session.put ("código", código); substituir ("código", string .Valueof (session.get ("code"))); Log.info ("JsonObject:" +jsonObject); ct.getString ("OpenId"); ":,," Atualizar _token ":" Refresh_token "," OpenId ":" OpenId "," Scope ":" Scope "," UnionId ":" O_BMASDASDSAD_SGVTHMZOPFL "} Código é inválido: {" errcode ":," errmsg ": "CoL de"} inválidoO conteúdo acima é o pagamento da conta pública do WeChat compartilhada pelo editor do Wulin.com (i) Como obter o usuário OpenId?