最近接了一个任务,做一个钉钉的日志、审批备份。
看了钉钉开发手册,发现钉钉有着类似微信小程序的一整套办公生态圈。
然后呢,着手做吧。
最开始想做一个微应用,发现微应用是一个H5的应用,类似一个网页,申请还是挺多要求的,然后也发现并不太适合处理后台备份功能。
然后转向python+selenium一套做自动测试的思路去做这些。
selenium是在学习软件测试中用到的组件,无非就是自动测试工具。
使用chrome的selenium插件录制了模仿登录钉钉管理后台然后下载日志文件的操作,生成脚本代码。
寻找有效的网页模块,然后编写python脚本,发现还是不理想。
频繁登录后它会跳出验证码,GG。
最后想到的办法是调用钉钉开放API。
钉钉API提供了一系列后台文件的访问接口,便于公司对接自己的系统,做二次开发。
因为是阿里的,毫无疑问选择java,事实也是如此。使用python的top.api发现版本太老了,开发文档中的方法很多已经不适用。
直接贴代码了。
需要AppKey和AppSecret来获取accessToken实现免登陆。
然后通过访问钉钉开放API来实现访问日志信息,很简单。
运行结果如下,是json格式的日志信息,对其解码,提取data_list的内容,在进行解码,提取contents内容, 一直下去到提取出日志文件需要备份的信息,写入excel即可。