基于业务需求,需要将SAC的用户、故事及团队分配情况进行报表查询,根据官方文档发现有SAP提供关于SAC的官方API接口
SAC官方API地址:SAP Business Accelerator Hub
api/v1/stories | SAP Help Portal
可以看到里面的接口有关于页面权限角色添加查询等接口,目前只需要查询出对应的用户角色的权限即可,那不简单嘛,不就是普通的API调用,EASY。
我们先用POSTMAN调用试下
先来试下第一个接口,依据文档说明,Users GET接口能返回我们SAC得所有用户
报错了,接口调用肯定有需要token之类的玩意,但是找遍Help Portal里啥都没说,我去。
只能去SAP社区里查下了,发现了一篇好文章
User and Team provisioning APIs for SAP Analytics Cloud | SAP Blogs
里面详细的说明了如何调用token的接口及之后调用一些接口的例子
依据博客,我们需要去SAC相关配置开启一些东西及获取我们的租户信息
配置Oauth客户端,获取我们的ID及密钥,用于token接口调用时的认证,ok,再去postman试下
先把博客里说的请求头参数加上,然后在Authorization里加上我们的Oauth信息
然后在Authorization里加上我们的Oauth信息
然后调用下这个接口
OK,成了。接下来试下调用获取所有User的接口
新建一个窗口,路由改下,在Authorization放token
调用试下
OK,成了,接口调用没问题了,该有的都有了,接下来就是如何在kettle里实现调用这个接口的问题了。
帅比的思路:
①首先定义好这个接口需要的参数值
②调用获取token的接口
③处理token接口返回的信息,提取相关信息
④调用获取User的接口
⑤将User接口反馈的Json处理下插入到我们数据库的User表
①定义下要用的参数
②调用获取token接口
需注意,返回的token字符串调用时需要加上Bearer,这里我们事先拼接好
③解析下返回的token,依据返回的固定格式解析出来
④调用User接口
后面就是针对User返回的结果信息,根据各自需求进行json解析然后插入到User表中
至此,一个简单的SAC官方API调用 Kettle实现就完成了,👏👏👏