java调用微信发消息
时间: 2023-09-18 10:09:26 浏览: 83
java 微信发送消息
3星 · 编辑精心推荐
要想在Java中调用微信发送消息,可以使用公众号的接口,通过Http请求进行调用。
首先,需要在微信公众平台上注册并获得开发者ID和密钥,然后将其用于生成访问令牌。接着,可以使用微信公众平台提供的API接口,通过Http请求来发送消息。
具体步骤如下:
1. 获取访问令牌
在微信公众平台上注册账号并获得开发者ID和密钥后,可以使用这些信息来生成访问令牌。访问令牌是通过调用微信公众平台的接口,使用开发者ID和密钥来获取的。访问令牌的获取方式请参考微信公众平台的文档。
2. 发送消息
在获取了访问令牌后,可以通过Http请求来发送消息。发送消息的接口为:
https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=ACCESS_TOKEN
其中,ACCESS_TOKEN为步骤1中获取的访问令牌。
发送的消息需要以Json格式进行编码,Json格式的示例代码如下:
{
"touser":"OPENID",
"msgtype":"text",
"text":
{
"content":"Hello World"
}
}
其中,touser为接收消息的用户的OpenID,msgtype为消息类型,可以为text、image、voice、video、music、news、mpnews等。text为文本消息类型,content为发送的消息内容。
使用Java代码发送消息的示例代码如下:
```
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
public class WechatSender {
private static final String SEND_URL = "https://api.weixin.qq.com/cgi-bin/message/custom/send";
private String accessToken;
public WechatSender(String accessToken) {
this.accessToken = accessToken;
}
public void sendText(String openid, String text) throws IOException {
URL url = new URL(SEND_URL + "?access_token=" + accessToken);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/json");
Map<String, Object> message = new HashMap<>();
message.put("touser", openid);
message.put("msgtype", "text");
Map<String, String> textContent = new HashMap<>();
textContent.put("content", text);
message.put("text", textContent);
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());
out.write(new Gson().toJson(message));
out.flush();
out.close();
if (conn.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}
}
}
```
在调用sendText方法时,需要传入接收消息的用户的OpenID和消息内容。如果发送成功,将会返回状态码为200。
阅读全文