阿里云钉钉实战第五课

简介: 阿里云钉钉实战课资料总结

作业要求通过阿里云的SeverLess (FC)调用钉钉的服务端API获取到手机号信息。

先理清思路

  • 创建FC(这面我使用的是老师的会议室模版)
  • 创建一个钉钉的应用(可以使用已创建的)
  • 给钉钉应用分配权限配置
  • 在钉钉应用中修改(图中的应用首页地址和PC端首页地址是需要FC部署成功才会有,但是保存的时候提示必须填写 可以随便写个https://www.baidu.com 做个占位符)

1.png

  • 小程序在手机端使用应该需要发布
    2.png
  • 接着选择钉钉相关的服务端API做获取手机信息使用这里我选择的是 获取用户详情API
try {
      DingTalkClient client = new DefaultDingTalkClient("<https://oapi.dingtalk.com/user/get>");
      OapiUserGetRequest req = new OapiUserGetRequest();
      req.setUserid("1231312");
      req.setHttpMethod("GET");
      OapiUserGetResponse rsp = client.execute(req, "262610d797583fe0ba83e2f246a4d51f");
      System.out.println(rsp.getBody());
        } catch (ApiException e) {
            e.printStackTrace();
        }
  • 3.png
    这面解释一下选择这个API的原因首先因为会议室项目的前端修改有点麻烦(嘿嘿 也修改成功了~),这面选择直接修改后台,将后台获取到的信息,覆盖原有返回内容。
    那么为了方便选择了两个参数access_token和userId 都不怎么变的接口来使用,方便调用。
  • 到此为止钉钉相关的信息修改,差不多就结束了(除了发布完FC更新上面的两个首页地址)
  • 下面操作FC 这面我提供一个方法(可以有多种方法,自己可以再想想,大概逻辑相同)通过修改接口/room/list_room 这个接口来方便的返回信息。
  • 需要修改文件MeetingController.java
@RequestMapping("/list_room")
    @ResponseBody
    public ServiceResult listRoom(String session) {
        //这前4行如果是通过浏览器测试的话建议注释调,因为是校验登陆权限的,浏览器除了
        // 老师教的通告钉钉的OA系统进入 有权限 其他直接打开是无权限的
         ServiceResult result = checkSession(false);
         if (!result.isSuccess()) {
             return result;
         }
        List<MeetingRoom> reRooms = new ArrayList<>();
        MeetingRoom room = new MeetingRoom();
          UserService user = new UserService();
          room.setName("我的手机号为:"+user.getPhone());
          room.setAddress("向往街 EFC 2000号");
          room.setNum(10);
          room.setAgentId("向往街 EFC 2000号");
          reRooms.add(room);
        return ServiceResult.success(reRooms);
    }
  • 其中我是把调用方法封装到了UserService.java文件中了,添加一个getPhone方法
public String getPhone() {
      DingTalkClient client = new DefaultDingTalkClient("<https://oapi.dingtalk.com/user/get>");
      OapiUserGetRequest req = new OapiUserGetRequest();
      req.setUserid("你自己的userId");
      req.setHttpMethod("GET");
        OapiUserGetResponse response;
        try {
            response = client.execute(req, "你自己的access_token");
        } catch (ApiException e) {
            log.error("Failed to {}", URL_GET_USER_INFO, e);
            return "12";
        }
        if (!response.isSuccess()) {
            return "232";
        }
        log.info("get user id: " + JSON.toJSONString(response));
        UserDTO user = new UserDTO();
        String strJson = response.getBody();
        JSONObject  userInfo = (JSONObject)JSON.parse( strJson );
        return userInfo.getString("mobile");
    }
  • 到此为止FC大体代码也完成了。
    重点来了,如果就是这点坑的话。我也不至于熬夜写这篇文章了。
    最大的坑就是,修改完要对每一个文件进行保存,保存后需要commit到master分支,之后push到master分支上,之后再部署才能生效。哎...不说了 上图详细讲一下步骤
    4.png
    说明未保存
    5.png
    说明未提交
    6.png
    点击对号 就可以提交了
    7.png
    按照上面的操作,可以push到分支中。到此代码操作到此结束。

提醒一下,如果代码有下面红色波浪说明有可能是语法错误。举例子

8.png

这个是没有引入HashMap的包可以点击快速修复引入。

其他的问题就看 云效 FLow给你的日志了。

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
安全 机器人 数据安全/隐私保护
基于钉钉的阿里云管理实践(四)之续费充值
在阿里云资源的运营过程中,及时续费和充值是保障服务不中断的关键行动。借助钉钉及其集成的阿里云管理功能,用户可以方便地接收到续费通知,并完成充值过程。本教程将为您详细介绍从收到续费提醒信息到完成充值的全过程。
585 2
|
弹性计算 自然语言处理 Ubuntu
从0开始在阿里云上搭建基于通义千问的钉钉智能问答机器人
本文描述在阿里云上从0开始构建一个LLM智能问答钉钉机器人。LLM直接调用了阿里云百炼平台提供的调用服务。
1007 4
从0开始在阿里云上搭建基于通义千问的钉钉智能问答机器人
|
敏捷开发 资源调度 测试技术
阿里云云效产品使用合集之怎么解绑钉钉组织
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
人工智能 运维 安全
更低成本、更高效、更安全!阿里云与钉钉联合推出协同办公AI解决方案
阿里云与钉钉携手推出了全新的“钉钉·AI Stack一体机”,以“低成本、高安全、零门槛”为核心,为用户提供基于钉钉,从模型部署到全员落地的AI解决方案,开启智能化办公的“一键加速”。
2132 1
|
人工智能 小程序 Java
【评测】玩转阿里云《10 分钟构建 AI 客服并应用到网站、钉钉或微信中》
本文介绍了使用阿里云百炼大模型在10分钟内构建AI客服,并应用于网站、钉钉或微信中的体验。作者“JavaDog程序狗”详细描述了从搭建到完成的全过程,包括快速上手、遇到的问题及解决方法、定制化需求以及云产品的整体体验。文档清晰易懂,集成过程顺畅,客服支持响应迅速,定制功能满足特定业务需求,总体体验极佳,适合开发者尝试。
759 5
【评测】玩转阿里云《10 分钟构建 AI 客服并应用到网站、钉钉或微信中》
|
存储 安全 API
"解锁企业级黑科技!用阿里云视觉智能打造钉钉级人脸打卡系统,安全高效,让考勤管理秒变智能范儿!"
【8月更文挑战第14天】随着数字化办公的发展,人脸打卡成为企业考勤的新标准。利用阿里云视觉智能开放平台构建类似钉钉的人脸打卡系统,其关键在于:高精度人脸识别API支持复杂场景下的快速检测与比对;活体检测技术防止非生物特征欺骗,确保安全性;云端存储与计算能力满足大数据处理需求;丰富的SDK与API简化集成过程,实现高效、安全的考勤管理。
624 2
|
敏捷开发 安全 前端开发
阿里云云效产品使用合集之如何和钉钉关联
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
敏捷开发 Web App开发 测试技术
阿里云云效产品使用问题之钉钉绑定主帐号和RAM 有什么区别么
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
运维 机器人 开发者
使用阿里云百炼通过appflow模板,组合钉钉机器人搭建个人知识库评测与感想
尝试构建个人助手机制,用阿里云百炼+AppFlow+钉钉机器人,花费两午休时间解决配置问题。百炼appid复制时多出空格致错,文档未提及,耗时排查。应用创建时模型选项限于max, plus, turbo,性价比高的qwen-long未上线。期望尽快修复bug和上线新模型以降低成本。附故障排查截图。
1011 1
|
Serverless Go API
Serverless 应用引擎产品使用之在阿里云Serverless中,我想在钉钉机器人中使用函数计算的签名认证如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
289 0