阿里云钉钉实战第五课

本文涉及的产品
简介: 阿里云钉钉实战课资料总结

作业要求通过阿里云的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给你的日志了。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
1月前
|
安全 机器人 数据安全/隐私保护
基于钉钉的阿里云管理实践(四)之续费充值
在阿里云资源的运营过程中,及时续费和充值是保障服务不中断的关键行动。借助钉钉及其集成的阿里云管理功能,用户可以方便地接收到续费通知,并完成充值过程。本教程将为您详细介绍从收到续费提醒信息到完成充值的全过程。
121 2
|
1月前
|
弹性计算 运维 监控
基于钉钉的阿里云管理实践(三)之运维管控
随着移动互联网的发展,使用移动设备进行云资源管理变得越来越普及。钉钉作为一款企业沟通和协作工具,其集成的阿里云控制台小程序让用户能够在移动端进行便捷的云资源管理操作。本教程将为您介绍如何在钉钉的阿里云控制台小程序内访问并操作阿里云资源。
147 1
|
1天前
|
运维 机器人 开发者
使用阿里云百炼通过appflow模板,组合钉钉机器人搭建个人知识库评测与感想
尝试构建个人助手机制,用阿里云百炼+AppFlow+钉钉机器人,花费两午休时间解决配置问题。百炼appid复制时多出空格致错,文档未提及,耗时排查。应用创建时模型选项限于max, plus, turbo,性价比高的qwen-long未上线。期望尽快修复bug和上线新模型以降低成本。附故障排查截图。
20 1
|
1天前
|
存储 小程序 前端开发
【微信小程序 - 工作实战分享】1.微信小程序发送手机短信验证码(阿里云)
【微信小程序 - 工作实战分享】1.微信小程序发送手机短信验证码(阿里云)
8 0
|
1月前
|
弹性计算 缓存 负载均衡
【阿里云弹性计算】游戏服务器部署实战:利用阿里云ECS打造低延迟游戏环境
【5月更文挑战第24天】使用阿里云ECS打造低延迟游戏环境的实战指南,包括选择高性能处理器和SSD存储的实例,规划架构,选择近玩家的地域和可用区,部署软件,优化性能及监控。通过负载均衡、自动扩展和数据缓存提升体验,同时关注数据安全与网络安全。
222 4
|
1月前
|
SQL 关系型数据库 数据库
阿里云数据库 RDS SQL Server版实战【性能优化实践、优点探析】
本文探讨了Amazon RDS SQL Server版在云数据库中的优势,包括高可用性、可扩展性、管理便捷、安全性和成本效益。通过多可用区部署和自动备份,RDS确保数据安全和持久性,并支持自动扩展以适应流量波动。可视化管理界面简化了监控和操作,而数据加密和访问控制等功能保障了安全性。此外,弹性计费模式降低了运维成本。实战应用显示,RDS SQL Server版能有效助力企业在促销高峰期稳定系统并保障数据安全。阿里云的RDS SQL Server版还提供了弹性伸缩、自动备份恢复、安全性和高可用性功能,进一步优化性能和成本控制,并与AWS生态系统无缝集成,支持多种开发语言和框架。
175 2
|
1月前
|
弹性计算 监控 开发工具
【阿里云弹性计算】实战教程:如何高效利用阿里云ECS弹性伸缩应对业务高峰
【5月更文挑战第20天】本文介绍了如何使用阿里云ECS弹性伸缩服务应对业务高峰。通过自动调整云资源规模,弹性伸缩在流量增加时扩展实例,流量减少时收缩实例,实现成本与性能的优化。步骤包括开通服务、创建伸缩组、设定规则和监控指标。文中还提供了一个Python脚本示例,并强调了优化策略,如应用无状态设计、考虑冷却时间和结合云监控。通过实践和调整,企业可以有效应对业务波动。
85 5
|
1月前
|
弹性计算 监控 负载均衡
【阿里云弹性计算】ECS实例迁移实战:无缝迁移到阿里云的步骤与技巧
【5月更文挑战第22天】阿里云ECS实例迁移实战详解,涵盖无缝迁移步骤与技巧:选择合适迁移方案,如VPC或使用阿里云工具;创建目标环境,数据迁移及配置同步;测试验证功能正常,流量切换;选择低峰期,保证数据一致,实时监控,提升迁移成功率。本文为云平台迁移提供实用指南。
67 2
|
1月前
|
存储 弹性计算 监控
【阿里云弹性计算】成本优化实战:利用阿里云 ECS 抢占式实例节省云支出
【5月更文挑战第21天】阿里云ECS的抢占式实例提供了一种成本优化策略,适合对中断容忍度较高的业务。通过创建和管理抢占式实例,结合API查询价格信息,企业能节省大量成本。使用时注意业务容错性,设置监控系统应对中断,结合其他成本优化措施,如存储类型选择和网络配置优化。确保业务可恢复性,关注阿里云政策,并根据业务变化调整策略,以实现成本与效益的最佳平衡。
74 3
|
1月前
|
存储 弹性计算 Kubernetes
【阿里云云原生专栏】深入解析阿里云Kubernetes服务ACK:企业级容器编排实战
【5月更文挑战第20天】阿里云ACK是高性能的Kubernetes服务,基于开源Kubernetes并融合VPC、SLB等云资源。它提供强大的集群管理、无缝兼容Kubernetes API、弹性伸缩、安全隔离及监控日志功能。用户可通过控制台或kubectl轻松创建和部署应用,如Nginx。此外,ACK支持自动扩缩容、服务发现、负载均衡和持久化存储。多重安全保障和集成监控使其成为企业云原生环境的理想选择。
235 3

热门文章

最新文章