天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 949|回复: 3

[已解决] 调用外部接口返回报错

[复制链接]
adhzh 发表于 2026-5-11 15:21:15 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:v5.X- sp XX
【浏览器类型】:Chrome/其他
【联系方式-QQ】:请留下您的QQ号码
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:
在字段属性中写了以下代码,获取外部接口数据
(function(){
var url = "接口地址";
var jsonText=httpUtils.get(url,null);
var jsonArray = new Packages.org.json.JSONArray(jsonText);
        for(var i=0;i<jsonArray.length();i++){
                var jsonObject = jsonArray.getJSONObject(i);
                var name = jsonObject.getString("name");
       }
})()

接口返回数据为:
[{"Index":0,"Size":"693.4 KB","Name":"2026-05-07-PPED40:15-15-53-YDA21032310PED40A01DTE7A0295..csv","Number":"YZ001"}]

运行时报错:
Caused by host exception: net.sf.json.JSONException: A JSONObject text must begin with '{' at character 1 of [{"Index":0,"Size":"693.4 KB","Name":"2026-05-07-PPED40&#65533;&#65533;15-15-53-YDA21032310PED40A01DTE7A0295..csv","Number":"YZ001"}]








1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\\\\\\\"已解决可结帖\\\\\\\"
yaya 发表于 2026-5-19 14:46:15 | 显示全部楼层
接口返回的完整数据是怎样的

//脚本示例:
(function(){
        var httpUtils = new Packages.cn.myapps.util.http.HttpRequestUtil();
        var userid = getWebUser().getId();
        var AccessToken = new Packages.cn.myapps.common.util.Security().getToken(userid);   
        var apiUrl = "xxxxxx?accessToken="+AccessToken;  //请求接口地址
        var jsonBody = httpUtils.get(apiUrl,null);//post
        println("jsonBody==============="+jsonBody);
        var fileJson = jsonBody.get("data");
        var jsonArray =        new Packages.org.json.JSONArray(fileJson);
        for(var        i=0;i<jsonArray.length();i++){
                var jsonObject = jsonArray.getJSONObject(i);
                var fileName = jsonObject.getString("name");
                println("fileName==============="+fileName);
        }
})()
 楼主| adhzh 发表于 2026-5-20 11:16:09 | 显示全部楼层
(function(){
        var httpUtils = new Packages.cn.myapps.util.http.HttpRequestUtil();
        var userid = getWebUser().getId();
        var url = "接口地址";
        var AccessToken = new Packages.cn.myapps.common.util.Security().getToken(userid);   
        var apiUrl = url + "?accessToken="+AccessToken;  //请求接口地址
        var jsonBody = httpUtils.get(apiUrl,null);//post
        println("jsonBody==============="+jsonBody);
        var fileJson = jsonBody.get("data");
        var jsonArray =        new Packages.org.json.JSONArray(fileJson);
        for(var        i=0;i<jsonArray.length();i++){
                var jsonObject = jsonArray.getJSONObject(i);
                var fileName = jsonObject.getString("name");
                println("fileName==============="+fileName);
        }
        return fileName;
})()

以上是脚本,运行后报错:
Field:test-值脚本出错 <br>JavaScriptRunning:[file:///MESOPBM.application/生产控制.module/httpTest.form/httpTest.form$FORM:FIELD_VALUE$__JOQfwuXGytvbYlmkUAR$test]: org.graalvm.polyglot.PolyglotException: TypeError: Access to host class cn.myapps.util.http.HttpRequestUtil is not allowed or does not exist.(function(){ var httpUtils = new Packages.cn.myapps.util.http.HttpRequestUtil(); var userid = getWebUser().getId(); var url = "接品地址"; var AccessToken = new Packages.cn.myapps.common.util.Security().getToken(userid); var apiUrl = url + "?accessToken="+AccessToken; //请求接口地址 var jsonBody = httpUtils.get(apiUrl,null);//post println("jsonBody==============="+jsonBody); var fileJson = jsonBody.get("data"); var jsonArray = new Packages.org.json.JSONArray(fileJson); for(var i=0;i<jsonArray.length();i++){ var jsonObject = jsonArray.getJSONObject(i); var fileName = jsonObject.getString("name"); println("fileName==============="+fileName); } return fileName; })()
yaya 发表于 2026-5-22 17:00:12 | 显示全部楼层
本帖最后由 yaya 于 2026-5-22 17:38 编辑
adhzh 发表于 2026-5-20 11:16
(function(){
        var httpUtils = new Packages.cn.myapps.util.http.HttpRequestUtil();
        v ...


改成这个试试:var URLConnector = new Packages.cn.myapps.core.util.http.HttpRequestUtil();
var AccessToken = Packages.cn.myapps.common.util.Security.getToken(userid);

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 04:42

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表