openapi接口调用提示用户无权
# 问题描述
openapi接口调用提示“用户无权限”,具体报错如下:
![image.webp](/download/0100b724a482b91c4c82b74ea6f8c3435712.webp)
# 问题背景
开发者在openapi下自定义了一个接口,目的是将自研系统的对公报销单推送到星瀚,具体配置见如下:
![image.webp](/download/0100ecd1c9bd591a4e1fab4be931664b4e8e.webp)
# 原因分析
因为在调用对公报销单保存操作的时候,平台底层验权验的是费用核算(appId=em)下的对公报销单的权限,但是实际上开发人员只给用户分配了人人费用(appId=exp)的对公报销单权限。因为两者appId不相等,所以会提示无权。具体验权时的参数如下:
![image.webp](/download/01008bcbb246c222453aa0e48c35c265f488.webp)
# 解决方法
根据上面的分析得知,是调用对公报销单保存操作时的应用ID不对,那么我们只要保证传入正确的appId即可。那如何传入呢?见截图:
![image.webp](/download/0100d7abdf73a87b474eb36549a72e83d9b8.webp)
# 方案分析
1. 在操作API中,当操作类型为保存操作的时候,我们可以选择参数控制,如图:
![image.webp](/download/0100f278c33cb7f24ee1a3307685df93614a.webp)
但是该配置低版本只能选择几个预置的选项,无法灵活配置。基于此,我们可以在请求接口当中模仿保存操作的请求传参,传入我们自定义的控制参数即可。
2. 为什么接口中传入currbizappid这个参数就可以验权通过了呢?因为操作api底层调用的就是实体的操作,代码类为:kd.bos.servicehelper.operation.OperationServiceHelper,具体接口见官方文档说明:
![image.webp](/download/0100259a2e1aa14d43038f34444cfa515121.webp)
该方法中最后一个参数OperateOption,我们可以传入很多的选项,具体的选项值可以参考:OperateOptionConst类,OperateOptionConst中就包含currbizappid这个参数,参数说明如下:
![image.webp](/download/01002ed76bbd1b8848c89333ae1b060c3fa7.webp)
# 参考文档
[实体操作服务帮助类](https://vip.kingdee.com/knowledge/specialDetail/218022218066869248?category=255694431574577408&id=255644921388790272&productLineId=29&lang=zh-CN)
[OperateOptionConst参数说明](https://dev.kingdee.com/sdk/Cosmic%20V5.0.002/index.html?nav=class&module=kd.bos.kddm&package=kd.bos.entity.operate&name=OperateOptionConst)
openapi接口调用提示用户无权
# 问题描述openapi接口调用提示“用户无权限”,具体报错如下:![image.webp](/download/0100b724a482b91c4c82b74ea6f8c3435712.webp)# ...
点击下载文档
本文2024-09-23 00:54:10发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142483.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章