Java 企业微信发送消息给微信好友

企业微信作为企业通讯和办公自动化的重要工具,其功能日益丰富。本文将介绍如何使用Java企业微信API发送消息给微信好友。

企业微信API简介

企业微信提供了丰富的API接口,用于实现企业内部通讯、办公自动化等功能。其中,发送消息给微信好友是企业微信API的一个基本功能。

准备工作

  1. 注册企业微信账号,并创建企业。
  2. 获取企业ID(corpid)和应用的Secret。
  3. 获取access_token。access_token是调用企业微信API的凭证,有效期为7200秒。

消息发送流程

  1. 使用access_token调用企业微信API发送消息。
  2. 企业微信API将消息发送给指定的微信好友。

代码示例

以下是一个使用Java企业微信API发送消息给微信好友的示例代码:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class WeChatSender {

    private static final String CORP_ID = "your_corp_id";
    private static final String SECRET = "your_secret";
    private static final String AGENT_ID = "your_agent_id";
    private static final String TO_USER = "your_to_user";

    public static void main(String[] args) throws Exception {
        String accessToken = getAccessToken();
        String message = "Hello, this is a message from Java!";
        sendTextMessage(accessToken, message);
    }

    private static String getAccessToken() throws Exception {
        String url = " + CORP_ID + "&corpsecret=" + SECRET;
        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();
        con.setRequestMethod("GET");
        BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();
        return response.toString().split("access_token=")[1].split("&")[0];
    }

    private static void sendTextMessage(String accessToken, String message) throws Exception {
        String url = " + accessToken;
        String json = "{\"touser\":\"" + TO_USER + "\",\"msgtype\":\"text\",\"agentid\":" + AGENT_ID + ",\"text\":{\"content\":\"" + message + "\"}}";
        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();
        con.setRequestMethod("POST");
        con.setRequestProperty("Content-Type", "application/json; utf-8");
        con.setDoOutput(true);
        java.io.OutputStream os = con.getOutputStream();
        byte[] input = json.getBytes("utf-8");
        os.write(input, 0, input.length);
        java.util.Scanner s = new java.util.Scanner(con.getInputStream());
        while (s.hasNext()) {
            String line = s.nextLine();
            System.out.println(line);
        }
        s.close();
    }
}

类图

以下是一个简单的类图,展示了WeChatSender类的结构:

classDiagram
    class WeChatSender {
        +CORP_ID : String
        +SECRET : String
        +AGENT_ID : String
        +TO_USER : String
        +getAccessToken() : String
        +sendTextMessage(accessToken : String, message : String) : void
    }

结语

通过本文的介绍和代码示例,相信读者已经对如何使用Java企业微信API发送消息给微信好友有了一定的了解。企业微信API的功能远不止于此,还有更多高级功能等待大家去探索和使用。希望本文能够帮助到有需要的朋友。