JAVA实现第三方网站QQ扫码登录Demo

网站QQ扫码登录
由于公司要用JAVA实现QQ扫码登录的需求,经过3天的奋战终于实现了这个功能,这个是用Servlet实现的Demo,很容易迁移进项目,不说多了,下面贴下代码

ConstantManager.java

package com.qq.common;

import java.net.URLEncoder;

public class ConstantManager {

//用户详细信息
public static final String OAUTH_USER_INFO="snsapi_userinfo";

public static final String OAUTH_QQ_USER_INFO="get_user_info";


//静默授权
public static final String OAUTH_USER_BASE="snsapi_base";

public static final String GRANT_TYPE="authorization_code";

//网页授权作用域
public static final String OAUTH_WEB_LOGIN="snsapi_login";

public static final String PC="pc";

public static final String WAP="wap";




/**
 * QQ登录回调
 */
public static final String QQCALLBACKURL = URLEncoder.encode("http://www.sucaiku.xin/callback/getQqCallback");

}

UrlConfig.java
package com.qq.common;

import org.apache.commons.lang3.StringUtils;

/**
*

  • @description 微信接口调用地址配置
  • @author tjz
  • @time 2017年2月23日
    */

public class UrlConfig {

/**
 * 微信全局调用accessToken
 * 
 * @return
 */
public String getGlobalAccessTokenUrl(String wxMpAppId,String wxMpAppSecrte) {
	return "https://api.weixin.qq.com/cgi-bin/token?grant_type=" + wxMpAppId + "&secret="+ wxMpAppSecrte;
}

/**
 * 微信服务器IP列表
 * 
 * @return
 */
public String getWeiXinIpUrl(String wxMpAppId,String wxMpAppSecrte,String appId) {
	//return "https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=" + weiXinUtil.getGlobalAccessToken(wxMpAppId, wxMpAppSecrte,appId);
	return null;
}


/**
 * 微信授权
 */
public String getOauth(String type,String redirectUrl,String param,String wxMpAppId) {
	return "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + wxMpAppId + "&redirect_uri="+ redirectUrl + "&response_type=code&scope=" + type + "&state=" + param + "#wechat_redirect";
}



/**
 * 网页授权
 */
public String getOauthAccessToken(String code,String wxMpAppId,String wxMpAppSecret) {
	return "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + wxMpAppId + "&secret=" + wxMpAppSecret+ "&code=" + code + "&grant_type=" + ConstantManager.GRANT_TYPE;
}

/**
 * 刷新网页授权accessToken
 */
public String refreshAccessToken(String refreshToken,String wxMpAppId) {
	return "https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=" + wxMpAppId+ "&grant_type=refresh_token&refresh_token=" + refreshToken.trim();
}

/**
 * 微信用户详细信息 accessToken:网页授权accessToken openId:用户openid 通过授权获取
 */
public String getUserInfo(String accessToken, String openId) {
	return "https://api.weixin.qq.com/sns/userinfo?access_token=" + accessToken.trim() + "&openid=" + openId.trim()+ "&lang=zh_CN";
}

/**
 * 获取用户详细信息 通过全局accessToken获取
 */
public String getUserInfoByGlobalToken(String globalToken, String openId) {
	return "https://api.weixin.qq.com/cgi-bin/user/info?access_token=" + globalToken + "&openid=" + openId+ "&lang=zh_CN ";
}

/**
 * 长短连接转换
 */
public String getShortUrl(String accessToken) {
	return "https://api.weixin.qq.com/cgi-bin/shorturl?access_token=" + accessToken;
}

/**
 * 获取模版列表
 */
public String getModelList(String accessToken) {
	return "https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token=" + accessToken;
}

/**
 * 发送模版消息
 */
public String sendModelMessage(String accessToken) {
	return "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + accessToken;
}

/**
 * 获取模版设置的行业信息
 */
public String getModelIndustry(String accessToken) {
	return "https://api.weixin.qq.com/cgi-bin/template/get_industry?access_token=" + accessToken;
}

/**
 * 获取jsapi签名
 */
public String getJsApiConfig(String accessToken){
	return "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token";
}

/**
 * 获取关注的用户列表
 */
public String getUserList(String accessToken,String openId){
	if(StringUtils.isBlank(openId)){
		return "https://api.weixin.qq.com/cgi-bin/user/get?access_token="+accessToken;
	}else{
		return "https://api.weixin.qq.com/cgi-bin/user/get?access_token="+accessToken+"&next_openid="+openId;
	}
}

/**
 * 创建二维码ticket
 */
public String createQrcodeTicket(String accessToken){
	return " https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token="+accessToken;
}

/**
 * 通过ticket换取二维码
 */
public String showQrcode(String ticket){
	return "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket="+ticket;
}

/**
 * 微信web登录url
 */
public String getWxWebLoginUrl(String type,String redirectUrl,String param,String wxOpenAppId){
	return "https://open.weixin.qq.com/connect/qrconnect?appid="+wxOpenAppId+"&redirect_uri="+redirectUrl+"&response_type=code&scope="+type+"&state="+param+"#wechat_redirect";
}

/**
 * 微信卡包ticket
 */
public String getTicketUrl(String accessToken){
	return "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token="+accessToken+"&type=wx_card";
}

/**
 * 添加客服帐号
 * @description 
 *
 * @author tjz
 *
 * @param accessToken
 * @return
 *
 * @time 2018年2月2日 上午9:54:20
 */
public String addKfAccountUrl(String accessToken){
	return "https://api.weixin.qq.com/customservice/kfaccount/add?access_token";
}


/**
 * 获取所有客服帐号
 */
public String getKfListUrl(String accessToken){
	return "https://api.weixin.qq.com/cgi-bin/customservice/getkflist?access_token";
}

/**
 * 发送客服消息
 */
public String getSendMessageUrl(String accessToken){
	return "https://api.weixin.qq
  • 13
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值