麻烦问下,想用按钮触发判断单元格数值,数值为2,给我的钉钉发提醒,JS得怎么写,哪位大神给指导下谢谢

const appkey = '我的appkey';

const appsecret = '我的appsecret';

let accessToken = null;

let expiresAt = 0;

var cell = _g().getCellValue("A1", null);

const message = "这是来自帆软报表的通知消息。";

const atMobiles = ["我的手机号"];

if(cell=='2'){

sendDingTalkMessage(message, atMobiles);

}

// 获取 access_token

async function getAccessToken() {

alert(accessToken && Date.now());

    const tokenUrl = "https://oapi.dingtalk.com/gettoken?appkey='"+appkey+"'&appsecret='"+appsecret+"'";

    try {

        const response = await fetch(tokenUrl);

        if (!response.ok) {

            throw new Error(`请求 access_token 出错,状态码: ${response.status}`);

        }

        const result = await response.json();

        if (result.errcode === 0) {

            accessToken = result.access_token;

            // 提前 10 秒过期,避免边界问题

            expiresAt = Date.now() + (result.expires_in - 10) * 1000;

            return accessToken;

        } else {

            throw new Error(`获取 access_token 失败,错误信息: ${result.errmsg}`);

        }

    } catch (error) {

        return null;

    }

}

// 发送钉钉消息

async function sendDingTalkMessage(message, atMobiles = []) {

    const token = await getAccessToken();

    if (!token) {

        return;

    }

    const webhook = "https://oapi.dingtalk.com/robot/send?access_token='"+token+"'";

    const data = {

        "msgtype": "text",

        "text": {

            "content": message

        },

        "at": {

            "atMobiles": atMobiles,

            "isAtAll": false

        }

    };

    try {

        const response = await fetch(webhook, {

            method: 'POST',

            headers: {

                'Content-Type': 'application/json'

            },

            body: JSON.stringify(data)

        });

        if (!response.ok) {

            throw new Error(`请求出错,状态码: ${response.status}`);

        }

        const result = await response.json();

        if (result.errcode === 0) {

            console.log("消息发送成功");

        } else {

            console.log(`消息发送失败,错误信息: ${result.errmsg}`);

        }

    } catch (error) {

        console.error(error.message);

    }

}

FineReport 用户t8693146 发布于 2025-4-17 08:18
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2025-4-17 08:30
最佳回答
0
snrtuemcLv8专家互助
发布于2025-4-17 08:23

你这个格式是没问题的,主要是看钉钉接不接受这个方式访问

帆软是支持这个写法的,语句格式也对的

最佳回答
0
孤陌Lv6资深互助
发布于2025-4-17 08:30

如果和钉钉做了集成  建议用模版消息插件 这样就可以直接发送提醒了

  • 4关注人数
  • 37浏览人数
  • 最后回答于:2025-4-17 08:30
    请选择关闭问题的原因
    确定 取消
    返回顶部