相关文章推荐
一直单身的柚子  ·  IllegalArgumentExcepti ...·  2 周前    · 
帅气的面包  ·  Caused by: ...·  2 月前    · 
纯真的杯子  ·  hive sql多行注释_头条·  10 月前    · 
冷静的课本  ·  在 Power BI Desktop ...·  1 年前    · 

应用为 E应用之企业内部应用

应用首页有秘钥信息

钉钉开发文档 : https://open-doc.dingtalk.com/microapp/serverapi2/pgoxpy

SDK 下载 : http://open-dev.dingtalk.com/download/openSDK/java

import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiGettokenRequest;
import com.dingtalk.api.request.OapiMessageCorpconversationAsyncsendV2Request;
import com.dingtalk.api.request.OapiUserGetRequest;
import com.dingtalk.api.request.OapiUserSimplelistRequest;
import com.dingtalk.api.response.OapiGettokenResponse;
import com.dingtalk.api.response.OapiMessageCorpconversationAsyncsendV2Response;
import com.dingtalk.api.response.OapiUserGetResponse;
import com.dingtalk.api.response.OapiUserSimplelistResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 * @Auther: liyue
 * @Date: 2018/10/12 11:58
 * @Description: 钉钉发送工作消息
public class SendDingDingMsgUtil {
    private static String APPKEY = "xxx";
    private static String APPSECRET = "xxx";
    private static Long AGENT_ID = xxx;
    private static Map<String, String> map = new HashMap<>(16);
    public static void main(String[] args) throws Exception {
        send("147****9309", "哈喽...");
     * 根据手机号码发送工作消息
     * @param mobile
     * @param content
    public static void send(String mobile, String content) {
        try {
            String accessToken = getAccessToken();
            if (map == null) {
                initUserList(accessToken);
            int userListCount = getUserListCount(accessToken);
            if (userListCount > map.size()) {
                initUserList(accessToken);
            senWorkMsg(accessToken, map.get(mobile), content);
        } catch (Exception e) {
            e.printStackTrace();
     * 获取 accessToken
     * @return
     * @throws Exception
    private static String getAccessToken() throws Exception {
        DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken");
        OapiGettokenRequest request = new OapiGettokenRequest();
        request.setAppkey(APPKEY);
        request.setAppsecret(APPSECRET);
        request.setHttpMethod("GET");
        OapiGettokenResponse response = client.execute(request);
        String accessToken = response.getAccessToken();
        return accessToken;
     * 发送工作消息
     * @param accessToken
     * @param userId
     * @param content
     * @throws Exception
    private static void senWorkMsg(String accessToken, String userId, String content) throws Exception {
        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2");
        OapiMessageCorpconversationAsyncsendV2Request request = new OapiMessageCorpconversationAsyncsendV2Request();
        request.setUseridList(userId);
        request.setAgentId(AGENT_ID);
        request.setToAllUser(false);
        OapiMessageCorpconversationAsyncsendV2Request.Msg msg = new OapiMessageCorpconversationAsyncsendV2Request.Msg();
        msg.setOa(new OapiMessageCorpconversationAsyncsendV2Request.OA());
        msg.getOa().setHead(new OapiMessageCorpconversationAsyncsendV2Request.Head());
        msg.getOa().getHead().setText("head");
        msg.getOa().setBody(new OapiMessageCorpconversationAsyncsendV2Request.Body());
        msg.getOa().getBody().setContent(content);
        msg.setMsgtype("oa");
        request.setMsg(msg);
        OapiMessageCorpconversationAsyncsendV2Response response = client.execute(request, accessToken);
     * 部门用户列表
     * @param accessToken
     * @throws Exception
    private static void initUserList(String accessToken) throws Exception {
        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/simplelist");
        OapiUserSimplelistRequest request = new OapiUserSimplelistRequest();
        request.setDepartmentId(1L);//根部门
        request.setOffset(0L);// 不设置分页获取所有用户
        request.setSize(10L);//不设置分页获取所有用户
        request.setHttpMethod("GET");
        OapiUserSimplelistResponse response = client.execute(request, accessToken);
        List<OapiUserSimplelistResponse.Userlist> userlist = response.getUserlist();
        for (OapiUserSimplelistResponse.Userlist user : userlist) {
            String userId = user.getUserid();
            String mobile = getMobile(accessToken, userId);
            map.put(mobile, userId);
     * 获取部门用户数量
     * @param accessToken
     * @return
     * @throws Exception
    private static int getUserListCount(String accessToken) throws Exception {
        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/simplelist");
        OapiUserSimplelistRequest request = new OapiUserSimplelistRequest();
        request.setDepartmentId(1L);
        request.setOffset(0L);
        request.setSize(10L);
        request.setHttpMethod("GET");
        OapiUserSimplelistResponse response = client.execute(request, accessToken);
        List<OapiUserSimplelistResponse.Userlist> userlist = response.getUserlist();
        return userlist.size();
     * 根据 userId 获取手机号
     * @param accessToken
     * @param userId
     * @return
     * @throws Exception
    private static String getMobile(String accessToken, String userId) throws Exception {
        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/get");
        OapiUserGetRequest request = new OapiUserGetRequest();
        request.setUserid(userId);
        request.setHttpMethod("GET");
        OapiUserGetResponse response = client.execute(request, accessToken);
        return response.getMobile();
                    钉钉开放平台 : https://open.dingtalk.com/应用为 E应用之企业内部应用应用首页有秘钥信息钉钉开发文档 : https://open-doc.dingtalk.com/microapp/serverapi2/pgoxpySDK 下载 : http://open-dev.dingtalk.com/download/openSDK/javaimport ...
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
后台会获的用户的openid和session_key
getPho
通过后台的AppKey和AppSecret获取到请求的access_token:
文档地址:https://ding-doc.dingtalk.com/document#/org-dev-guide/obtain-access_token
 2. 获取token请求接口
 3.  4. @param appKey    密钥
 5. @param appSecret 密钥
 6. @return token
				
首先按照要求的模板制作Excel文档,然后上传之服务器,并读入到数据库中 本文章针对,先将Excel文档存在服务器中,然后再将存放文档的路径传到Service层,最后写入到数据库当中,具体看一下代码: 前端代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="h
$param['message']] = "产品已经审核通过了,请查看!"'; //发送信息 $param['mobiles'] = '176****7056'; //发送手机号 $isAtAll = fa... BUG(3) : Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; 31788