{"errcode":41011,"errmsg":"missing agentid"}
来源:互联网 发布:下载照相机软件 编辑:程序博客网 时间:2024/04/29 11:32
用httpClient 发送消息,报错,但是我的agentId确实写了,原来是格式不对。
package bridge;import java.io.IOException;import java.io.UnsupportedEncodingException;import org.apache.http.Consts;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.config.RequestConfig;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.protocol.BasicHttpContext;import org.json.JSONObject;public class WeiXinDemo { JSONObject a;public String tokenStr(){//发送tokenString tokenUrl="https://qyapi.weixin.qq.com/cgi-bin/gettoken?&corpid=你自己的&corpsecret=你自己的;CloseableHttpClient httpGetClient=HttpClients.createDefault();HttpGet httpGet=new HttpGet(tokenUrl);RequestConfig config = RequestConfig.custom().setSocketTimeout(5000).build();httpGet.setConfig(config);CloseableHttpResponse responseToken;try {responseToken = httpGetClient.execute(httpGet);String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(responseToken);System.out.println(responseContent);a=new JSONObject(responseContent);} catch (ClientProtocolException e2) {// TODO Auto-generated catch blocke2.printStackTrace();} catch (IOException e2) {// TODO Auto-generated catch blocke2.printStackTrace();}return (String) a.get("access_token");}public String sendMsg(String token){String responseContent="";String url="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="+""+token+"";String strData;String strTest="{'touser':'微信号','msgtype':'news','toparty':'','totag':'','agentid':'81','safe':'0','news':{'articles':[{'title':'有测试','url':'你的域名地址','picurl':null}]}}";//就是这个的格式错误,这里最后必须替换为双引号才能识别出来。其实最简单的方法是新建一个对象用来放数据,最后转为json 字符串比较方便
strData=strTest.replace('\'', '\"');CloseableHttpClient httpClient = HttpClients.createDefault() ;HttpPost httpPost=new HttpPost(url);RequestConfig requestConfig=RequestConfig.custom().setSocketTimeout(2000).setConnectTimeout(5000).build();httpPost.setConfig(requestConfig);httpPost.addHeader("Content-Type", "application/json");StringEntity entity=new StringEntity(strData,Consts.UTF_8);httpPost.setEntity(entity);CloseableHttpResponse response;try {response = httpClient.execute(httpPost, new BasicHttpContext());responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);System.out.println(responseContent);} catch (ClientProtocolException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return responseContent;}//如何调用微信发送消息的接口public static void main(String args[]){WeiXinDemo demo=new WeiXinDemo();demo.sendMsg(demo.tokenStr());}}
import java.io.IOException;import org.apache.http.Consts;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.StatusLine;import org.apache.http.client.HttpResponseException;import org.apache.http.client.ResponseHandler;import org.apache.http.util.EntityUtils;public class Utf8ResponseHandler implements ResponseHandler<String> { public static final ResponseHandler<String> INSTANCE = new Utf8ResponseHandler(); public String handleResponse(final HttpResponse response) throws HttpResponseException, IOException { final HttpEntity entity = response.getEntity(); return entity == null ? null : EntityUtils.toString(entity, Consts.UTF_8); }}
0 0
- {"errcode":41011,"errmsg":"missing agentid"}
- python实现微信提醒({“errcode”:41011,”errmsg”:”missing agentid”})
- 微信公众号 errcode=41011, errmsg=missing agentid
- 微信开发者获取服务令牌(component_access_token){"errcode":41002,"errmsg":"appid missing"}
- 微信公众开发-- 上传图片 "errcode":41005,"errmsg":"media data missing"
- 微信公众号开发上传零时素材遇到"errcode":41005,"errmsg":"media data missing
- PHP调用微信接口报{"errcode":41005,"errmsg":"media data missing"}错误
- 微信公众号接口开发:新增临时素材{"errcode":41005,"errmsg":"media data missing"}
- 微信公众号 -- 上传图片返回url接口报"errcode":41005,"errmsg":"media data missing
- 微信公众号开发上传零时素材遇到"errcode":41005,"errmsg":"media data missing
- 公众号上传临时素材获取media_id 出现 {"errcode":41005,"errmsg":"media data missing"}
- "errcode":50001,"errmsg":"redirect_uri unauthorized"
- 微信公众号开发---上传临时素材到公众号遇到的问题:"errcode":41005,"errmsg":"media data missing
- 微信公众号开发---上传临时素材到公众号遇到的问题:"errcode":41005,"errmsg":"media data missing
- 微信支付{"errcode":1001,"errmsg":""}问题
- 微信 "{"errcode":-1,"errmsg":"system error"}"
- 微信自定义菜提示 “{“errcode”:40001,”errmsg”:”invalid credential”}”
- { errcode: 45028, errmsg: 'has no masssend quota hint: [weFeva0926zbg9]' }
- ReactMix:基于HTML+JS+CSS写APP的最佳实践
- 百度地图根据地址获取经纬度
- rsync+cron job 定时同步任务
- 局域网IP变成广域网的IP
- delete table和truncate table
- {"errcode":41011,"errmsg":"missing agentid"}
- 利用ContentProvider查询手机联系人
- 对比ArrayList和LinkedList 使用普通循环和迭代循环的性能
- 关于ListView遇到的小问题
- java基础01
- LeetCode 062 Unique Paths
- Android在屏幕适配时出现异常java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x1
- gcc编译器下pow函数编译的问题
- 二叉树的非递归遍历的解析与实现----java实现