本帖最后由 网络菜菜 于 2025-8-28 10:34 编辑
【myApps/OBPM版本号】:v5.1- F社区版
【浏览器类型】:Chrome/其他
【联系方式-QQ】:260217944
【联系电话】: 请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:工程师,之前已请教过低代码平台提供接口访问查询,但我现在还有个技术问题不知如何处理。我需要通过一个word文档里的VBA提供一个关键字作为账号名称,来调取低代码平台的接口返回数据,不知低代码平台如何编辑代码才能接获VBA过来的关键字。如下为我低代码平台和VBA代码的节选。
- //低代码平台供外API下的脚本
- (function(){
- //var userid = CONTEXT.getParameter("userid");
- var userid = "6ZwXXXXXXXXXXXXZcw";
- println("userid--------------->" +userid);
- //var testaccount = CONTEXT.getParameter("账号名称");
- //var testaccount = CONTEXT.getParameter();
- var testaccount = "广州穗建";
- //var testaccount = "";
- var aa = "%";
- println("testaccount------------->" +testaccount);
- var dsName = "浪潮财务共享库";
- //var id = COUNTER.genUUID();
- //判断参数非空
- if (null != testaccount) {
- // var list = new Packages.java.util.ArrayList();
- var DataArray = new Packages.net.sf.json.JSONArray();
-
- //可以查询系统创建表也可以获取外部表
- //var sql = "select * from caiwugx where 账号名称 = '"+testaccount+"'";
- var sql = "select * from caiwugx where 账号名称 like '"+aa+""+testaccount+""+aa+"'";
- println("sql--------------->" +sql);
- //var query = queryBySQL(sql);
- var query = queryByDSName(dsName, sql);
- if (query != null && query.size() > 0) {
- for(var iter = query.iterator(); iter.hasNext(); ) {
- var JSONObject = createObject("com.alibaba.fastjson.JSONObject");
- // var result = new Packages.java.util.HashMap(); //创建指定类对象
-
- // var docs = iter.next();
- // var bank_number = docs.getItemValueAsString("银行账号");
- // var bank_name = docs.getItemValueAsString("所属银行_名称");
- var item = iter.next();
- println("item--------------->" +item);
- var bank_number = item.get("银行账号");
- println("bank_number--------------->" +bank_number);
- var acc_name = item.get("账号名称");
- println("acc_name--------------->" +acc_name);
- var bank_name = item.get("所属银行_名称");
- println("bank_name--------------->" +bank_name);
- var ID = item.get("ID");
- println("ID--------------->" +ID);
-
- // JSONObject.put("id", docs.getId().toString());
- JSONObject.put("bank_number", bank_number.toString());
- JSONObject.put("acc_name", acc_name.toString());
- JSONObject.put("bank_name", bank_name.toString());
- JSONObject.put("ID", ID.toString());
- DataArray.add(JSONObject);
- }
-
- }
- //return DataArray;
- println(DataArray);
- }
- })();
复制代码
- //VBA提交关键字的节选
- Function OptionButton22(keyword)
- Dim http As Object, jsonText As Object
- Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
- Dim tokenUrl As String
- tokenUrl = "hhXtXtXp://codXXXXXXXXX:80/obpm/api/runtime/secrets/11f0-XXXXXXXXXXXXXXXXXXXXXdd/accessToken?loginNo=zhXXXXXXXXXXXX_1"
- Debug.Print tokenUrl
- 'MsgBox tokenUrl
-
- '1.获取Token
- http.Open "GET", tokenUrl, False
- http.Send
- Dim response As String
- response = http.responseText
- Debug.Print response
- Dim accessToken As String
- accessToken = ParseJSON(response)("data")
- 'MsgBox accessToken
- Debug.Print accessToken
-
- '2.拼接菜单创建接口
- Dim apiUrl As String
- 'Debug.Print dd("jhj")
- apiUrl = "hXtXtXp://codeXXXXXXXXXXX:80/obpm/magic-api/%E6%9C%BA%E6%96%BDcode/inspur111/6ZXXXXXXXXXXAZcw/" & keyword & "?accessToken=" & accessToken
- Debug.Print apiUrl
-
-
- '3.提交菜单数据 //获取Api接口数据
- 'http.Open "POST", apiUrl, False
- http.Open "GET", apiUrl, False
- 'http.setRequestHeader "Content-Type", "application/json" ###提交的写法
- 'http.Send "{""button"":[...]}" ###提交的写法
- http.Send
- responseAPI = http.responseText
- Debug.Print responseAPI
-
- '4.输出结果
- Debug.Print http.responseText
- 'Set jsonText = http
- End Function
复制代码
1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\\\\\\\"已解决可结帖\\\\\\\"
|