1 .在微信开放平台https://open.weixin.qq.com上注册APP应用,审核通过,获得APPID和SECRET
2 .通过请求微信登录,跳转处理
3359 open.weixin.QQ.com/connect/QR connect? appid=appid redirect _ uri=redirect _ uri response _ type=code scope=scopestate=state # we chat _ redirect许可证成功返回redirect_uri? 获取state=statecode后,获取access_token
import cn.Xishan.often porter.porter.core.base.w object;
import com.Alibaba.fast JSON.JSON object;
import java.io.BufferedReader;
import Java.io.input streamreader;
import java.net .友好的鱼;
import java.net .友好的鱼Connection;
import java.util.List;
import java.util.Map;
//*
公共类Weixi nlogin {
私有金融字符串应用程序id=' ';
私密金融字符串secret=' ';
//*
3359 open.weixin.QQ.com/connect/QR connect? appid=appid redirect _ uri=redirect _ uri response _ type=code scope=scopestate=state # we chat _ redirect
许可证已成功恢复:
redirect_uri? 代码=codestate=state
批准失败:
redirect_uri? state=STATE
公共语音重定向
if(wobject.getrequest ().getparameter ) ' code )!=空) {
存取令牌!=空) {
返回对象!=空) {
}
}
}
}
//*
{
' access _ token ' : ' access _ token ',
' expires_in':7200,
' refresh _ token ' : ' refresh _ token ',
' openid':'OPENID ',
' scope':'SCOPE '
}
publicstringgetaccesstoken (字符串代码) {
//https://API.weixin.QQ.com/SNS/oauth2/access _ token? appid=appidsecret=secretcode=code grant _ type=authorization _ code
try{
returnsendget(URL,param );
}catch(exceptione ) {
e .打印堆栈跟踪(;
}
返回空值;
}
//*
3359 API.weixin.QQ.com/SNS/userinfo? access _ token=access _ token OpenID=OpenID
{
' openid':'OPENID ',
' nickname':'NICKNAME ',
' sex':1,
' province':'PROVINCE ',
' city':'CITY ',
' country':'COUNTRY ',
' head imgurl ' : ' http://wx.q logo.cn/mm open/G3 monuztnhkdmzicilibx6iafqac 56 vxlsufpb6n5wksyvy0chqkiajsgq1dzutogvlllrhaharhac
' privilege':[
“权限1”,
' PRIVILEGE2'
]、
' union id ' : ' o6 _ BM asdasdsad6_2sgvt7hmzopfl '
}
publicstringgetuserinfo (string access _ token,String openId ) {
returnsendget (' https://API.weixin.QQ.com/SNS/userinfo ',' access _ token=' access _ token ' OpenID=' OpenID )
}
//*
publicstaticstringsendget (字符串URL,字符串参数)。
try {
友好的鱼realUrl=new友好的鱼(urlNameString );
友好鱼connection connection=realurl.open connection (;
connection.setrequestproperty (' accept ',' */* ' );
connection.setrequestproperty (' connection ',' Keep-Alive ' );
connection.setrequestproperty (' user-agent ',
' Mozilla/4.0 (兼容; MSIE 6.0; Windows NT 5.1; SV1 () );
connection.connect (;
map map=connection.get header fields (;
for(stringkey:map.keyset ) ) () ) ) )。
}
in=newbufferedreader (newinputstreamreader (
connection.getInputStream (
while((line=in.readline ) )!=空) {
结果=line;
}
}catch(exceptione ) {
e .打印堆栈跟踪(;
}
法瑞{
try {
if (入!=空) {
in.close (;
}
}catch(exceptionE2) {
E2 .打印堆栈跟踪(;
}
}
返回结果;
}
}