阿里云钉钉ServerLess实战第三课

如何成功管理员或者子管理员呢?

这里引用钉钉客服给出的方法链接

https://h5.alimebot.com/app/ikc-fe/kc_detail/p/detail/index.html?app_id=51947349&knowledge_id=1011509618&corpId=ding94b38676d04cb55ff2c783f7214b6d69&type=dingding_channel&pc_slide=true

总结一下:第一步是实名,第二步是分配权限

如果没有组织的可以自己创建一个组织(钉钉手机端,通信录→创建/加入组织→创建)

开发流程

https://developers.dingtalk.com/

JSAPI鉴权

https://developers.dingtalk.com/document/app/jsapi-authentication?spm=ding_open_doc.document.0.0.457b511f1TbQ3G#topic-2025314

服务端如何调用

https://developers.dingtalk.com/document/app/how-to-call-apis

注意:事件有超时控制 要保持在1000毫秒以内。

http回调

https://developers.dingtalk.com/document/app/callback-overview

服务端调试工具

https://open-dev.dingtalk.com/apiExplorer?spm=ding_open_doc.document.0.0.457b511f1TbQ3G#/

前段调试工具

https://developers.dingtalk.com/document/resourcedownload/jsapi-explorer?pnamespace=app

问题答疑方法

阿里云钉钉ServerLess实战第三课

这面补充点内容 提供一个复杂的方法来答第三题

思路

通过搭建本地平台来调用创建用户方法。(默认已经创建好组织并且进行了开发配置,项目clone需要链接java基本知识和git的简单使用哈)


搭建本地服务端

通过官方提供的链接进行配置 这里就不赘述了链接奉上https://developers.dingtalk.com/document/tutorial/develop-mini-programs

这里面提几点需要注意的事项:

  • 安装完之后需要执行mvn install 下载依赖
  • 项目使用的是8080端口注意别被占用了
  • 根部门的id为1 并且格式为[1]. (我掉进坑里好一会儿)
  • 由于提供的只有登陆接口调用,所以需要添加创建用户接口(MainContrller)
@RequestMapping(value = "/create", method = RequestMethod.POST)
    public RpcServiceResult create(@RequestParam(value = "authCode") String authCode) {
        try {
            DingTalkClient client = new DefaultDingTalkClient("<https://oapi.dingtalk.com/user/create>");
            OapiUserCreateRequest req = new OapiUserCreateRequest();
            String accessToken = AccessTokenUtil.getAccessToken();
            req.setIsSenior(Boolean.TRUE);
            req.setIsHide(Boolean.TRUE);
            req.setDepartment("[1]");
            req.setMobile("176403xxxxx");
            req.setName("Iwa实战营第三课");
            OapiUserCreateResponse rsp = client.execute(req, accessToken);
            System.out.println(rsp.getBody());
            return RpcServiceResult.getSuccessResult(resultMap);
        } catch (Exception ex) {
            return RpcServiceResult.getFailureResult("-1", "create exception");
        }
    }

搭建本地内网穿透(类似花生壳,用二级域名做映射)

我这里使用的是mac环境,老规矩链接奉上,https://developers.dingtalk.com/document/tutorial/develop-mini-programs。 官方讲解我辅助

说下几个注意事项

./ding -config=./ding.cfg -subdomain=abcde 8080
  • 执行这个命令的时候会出现如域名已经被使用了,那就把稳重的subdomain信息换成自己自定义一个如iwa等 再试一下
  • 8080 对应的就是你本地服务的端口,如有更换这块也需要进行修改

钉钉小程序端

复制上链接方便寻找https://developers.dingtalk.com/document/tutorial/develop-mini-programs

说下注意事项,本人的mac用的是英文版的,所以遇到的坑很多。。

  • 左上角一定要选择对自己的组织和企业,非常重要。选择有需要授权
  • 更改后一定要在自己更改的文件上按保存。。别为我是怎样知道的(用idea习惯了,这个和微信,vscode一样逻辑 不太习惯)
  • 将默认的login更高为create

补充一下在钉钉开发配置上一定要填写自己公网ip或者域名哈。

安全中心和出口ip都需要配置哈

上一篇:与众不同 windows phone (29) - Communication(通信)之与 OData 服务通信


下一篇:依赖于私有仓库nexus 改为使用默认或者阿里镜像打包运行