小程序
小游戏
企业微信
微信支付
扫描小程序码分享
java开发使用post请求调接口失败了,返回错误信息{"errcode":41002,"errmsg":"appid missing hint: [2YPCrA06382994]"},这接口也没有让传appid啊,access_token成功获取到了。有没有例子,求一个~
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
我用Spring 的 RestTemplate
是这样写的
public
static
void
getQr(String sceneStr, String accessToken) {
RestTemplate rest =
new
RestTemplate();
InputStream inputStream =
null
;
OutputStream outputStream =
try
{
String url =
"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="
+accessToken;
Map<String,Object> param =
HashMap<String,Object>();
param.put(
"scene"
, sceneStr);
"page"
,
"pages/index/index"
);
"width"
430
"auto_color"
false
Map<String,Object> line_color =
line_color.put(
"r"
0
"g"
"b"
"line_color"
, line_color);
HttpHeaders headers =
HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
System.out.println(
"参数"
+ param);
HttpEntity requestEntity =
HttpEntity(param, headers);
ResponseEntity<
byte
[]> entity = rest.exchange(url, HttpMethod.POST, requestEntity,
[].
class
Object[
]);
[] result = entity.getBody();
if
(result.length>
2000
){
inputStream =
ByteArrayInputStream(result);
String filePathPre =
"路径"
(!filePathPreDir.exists()){
filePathPreDir.mkdirs();
}
File file =
File(filePathPre+
"xxx.jpg"
(!file.exists()){
file.createNewFile();
outputStream =
FileOutputStream(file);
int
len =
[] buf =
[
1024
];
while
((len = inputStream.read(buf,
)) != -
1
) {
outputStream.write(buf,
, len);
outputStream.flush();
catch
(Exception e) {
finally
(inputStream !=
inputStream.close();
(IOException e) {
e.printStackTrace();
(outputStream !=
outputStream.close();
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
我们的spring版本太低,不支持RestTemplate,唉。。。
这是获取token的时候返回的吧,你是不是方法名写错了
刚才试接口地址掉用错了,现在又找不到我的access_token了。{"errcode":41001,"errmsg":"access_token missing hint: [CCP3eA01591091]"} 这是后台post请求的代码,是post请求写的有问题吗?
这就不是很清楚了 ,对java不是很了解
我觉得问题可能出在url,?access_token=,token应该用键值对的形式包含在url里面,其他比如scene之类的参数才是StringEntity
试过了,这种不行~
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
我用Spring 的 RestTemplate
是这样写的
public
static
void
getQr(String sceneStr, String accessToken) {
RestTemplate rest =
new
RestTemplate();
InputStream inputStream =
null
;
OutputStream outputStream =
null
;
try
{
String url =
"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="
+accessToken;
Map<String,Object> param =
new
HashMap<String,Object>();
param.put(
"scene"
, sceneStr);
param.put(
"page"
,
"pages/index/index"
);
param.put(
"width"
,
430
);
param.put(
"auto_color"
,
false
);
Map<String,Object> line_color =
new
HashMap<String,Object>();
line_color.put(
"r"
,
0
);
line_color.put(
"g"
,
0
);
line_color.put(
"b"
,
0
);
param.put(
"line_color"
, line_color);
HttpHeaders headers =
new
HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
System.out.println(
"参数"
+ param);
HttpEntity requestEntity =
new
HttpEntity(param, headers);
ResponseEntity<
byte
[]> entity = rest.exchange(url, HttpMethod.POST, requestEntity,
byte
[].
class
,
new
Object[
0
]);
byte
[] result = entity.getBody();
if
(result.length>
2000
){
inputStream =
new
ByteArrayInputStream(result);
String filePathPre =
"路径"
;
if
(!filePathPreDir.exists()){
filePathPreDir.mkdirs();
}
File file =
new
File(filePathPre+
"xxx.jpg"
);
if
(!file.exists()){
file.createNewFile();
}
outputStream =
new
FileOutputStream(file);
int
len =
0
;
byte
[] buf =
new
byte
[
1024
];
while
((len = inputStream.read(buf,
0
,
1024
)) != -
1
) {
outputStream.write(buf,
0
, len);
}
outputStream.flush();
}
}
catch
(Exception e) {
}
finally
{
if
(inputStream !=
null
){
try
{
inputStream.close();
}
catch
(IOException e) {
e.printStackTrace();
}
}
if
(outputStream !=
null
){
try
{
outputStream.close();
}
catch
(IOException e) {
e.printStackTrace();
}
}
}
}
我们的spring版本太低,不支持RestTemplate,唉。。。
这是获取token的时候返回的吧,你是不是方法名写错了
刚才试接口地址掉用错了,现在又找不到我的access_token了。{"errcode":41001,"errmsg":"access_token missing hint: [CCP3eA01591091]"} 这是后台post请求的代码,是post请求写的有问题吗?
这就不是很清楚了 ,对java不是很了解
我觉得问题可能出在url,?access_token=,token应该用键值对的形式包含在url里面,其他比如scene之类的参数才是StringEntity
试过了,这种不行~