You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Unirest Graph API返回JSON中提取externalUserState值

现有实现的核心问题
  • 缺少目标字段提取逻辑:当前代码拿到响应后直接返回result.getBody()的整体内容,没有从解析后的JSON结构中定位externalUserState节点取值的操作。asJson()返回的Body是Unirest封装的JsonObject结构,包含@odata.context、externalUserState两个完整字段,直接返回整体结构无法得到单独的"Accepted"字符串值。
  • URL拼接存在冗余:你在请求路径末尾手动拼接了?分隔符,但Unirest的queryString方法会自动处理查询参数的拼接逻辑,这种写法会导致最终请求URL出现多余的空参数,可能引发服务端参数解析异常。
  • 参数值存在大小写偏差:代码中$select对应的参数值写为ExternalUserState,和Graph API返回的实际字段名externalUserState大小写不一致。虽然多数场景下Graph API对select参数不做严格大小写校验,但部分租户配置下可能出现字段返回不全、结构异常的问题。
  • JSON取值方式不符合Unirest封装规则:Unirest的JsonObject对象无法直接输出目标字段的字符串值,必须通过对象提供的get方法完成字段读取,不能将整个Body对象直接当作目标字段的值返回。

修正后的实现参考:

def result = get(graph_base_user_url + userId)
         .header("Authorization","Bearer " + AuthToken)
         .queryString("\$select","externalUserState")
         .asJson()
def targetValue = result.getBody().getString("externalUserState")
return targetValue

内容的提问来源于stack exchange,提问作者serge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.31 10:06:05