好不容易把微信实现短连接实现了,却又不能用
来源:14-11 店铺授权之短链接的实现
Simon___
2021-02-23
因为现在第一个百度实现短连接是需要企业认证权限的,所以百度现如今实现短连接已不大可能。看之前大家的讨论,新浪的貌似也不行。最后就只剩下微信实现,看见之前的同学实现的代码,我也做了出来。运行是没问题,可这个短网址根本不能用啊。代码如下:
public class ShortNetAddressUtil {
static String appid = "wx2c08f7b3e25db965";
static String appsrcret = "682afacdc63e53b28388bcc01db52a22";
public static void main(String[] args) {
String longUrl = "https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login";
System.out.println(getShortURL(longUrl));
}
/**
* 微信根据APPID和APPSECRET获取token
*
* @param appid
* @param appsrcret
* @return 返回转换后的短链接
*/
public static String getToken(String appid, String appsrcret) throws Exception {
// 访问地址
String TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
String APPID = appid;
String APPSECRET = appsrcret;
String request_url = TOKEN_URL.replace("APPID", APPID).replace("APPSECRET", APPSECRET);
JSONObject jsonObject = HttpUtils.httpsUtil(request_url, "GET", null);
if (null != jsonObject) {
String access_token = jsonObject.getString("access_token");
return access_token;
}
return null;
}
public static String getShortURL(String longUrl) {
ResultBean<String> result = new ResultBean<>();
String token;
try {
token = getToken(appid, appsrcret);
String uri = "https://api.weixin.qq.com/cgi-bin/shorturl?access_token=ACCESS_TOKEN";
String url = uri.replace("ACCESS_TOKEN", token);
String param = "{\"action\":\"long2short\","
+ "\"long_url\":\""+longUrl+"\"}";
// 调用接口创建菜单
JSONObject jsonObject = HttpUtils.httpRequest(url, "POST", param);
System.out.println(jsonObject);
if (null != jsonObject) {
result.setCode(jsonObject.getInteger("errcode"));
result.setData(jsonObject.getString("short_url"));
return result.getData();
} else {
return null;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
对了,还有想请问一下,如果这地方扫码功能不做了。在后续中买家兑换商品的时候我也不做扫码功能,对后续开发影响吗(:意思就是直接不做扫码功能了,后续积分兑换也不做扫码了,默认线下面对面交易。不想影响到积分兑换的功能。因为做毕设,时间有点紧了,做出一个展示页面就行了
写回答
3回答
-
AsYouWish99
2021-02-28
生成的短链接并不会向百度上跳,一直是这个页面
012021-02-28 -
Simon___
提问者
2021-02-23
转换的网址也没问题
00 -
翔仔
2021-02-23
同学好,微信这个应该是能用的,同学是不是本身的这个长连接就有问题?可以把长连接复制粘贴到微信上,看看那能不能打开,如果能,才定位是短网址问题,调试一下,用的长连接不是自己想出来的哈,而是真正调用了微信短网址服务前的输入。 也可以用微信短网址转化一下 http://www.baidu.com 然后把输出贴到浏览器访问一下,看看能否转换成功
022021-02-24
相似问题