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

使用HTTP连接器调用Salesforce后,无法提取access_token值该如何解决?

问题描述

调用Salesforce的HTTP接口后,返回内容的Content-Type为application/x-www-form-urlencoded,但实际内容是一个JSON字符串,示例如下:

{"access_token":"00D5j0008yLhA!ARwAQBufl2Y6S1Tu3AU5zUWBCb442Nj2JqwWFOkm3AFL16CQZleLO.mnZwlDFttOMEnldbt_WqJBzhLrh1mgI1XEIvAN8sAM","instance_url":"https://cloudceitude-13a-dev-ed.my.salesforce.com","id":"https://login.salesforce.com/id/00D5j00000LhAEAU/0055j000004TZbAAAW","token_type":"Bearer","issued_at":"1668188564383","signature":"LQbWIODP8pqE+wD1yjgbVUBxMDI6YV1HjENZUeK/eoY="}

尝试通过payload.access_token提取access_token值时失败;使用Transform连接器执行简单的DataWeave转换(仅输出payload)后问题依旧。调试发现map函数无法作用于当前payload,调用MapObject返回URL编码后的表单内容,示例:

key=%7B%22access_token%22%3A%2200D5j000008yLhA%21ARwAQIN5UGZWtk8Ucu8MUNgbnHAKleeqAk2M73Afy9iRKNEKRppu4C7Drfi0hg8q5t8C.PYX7RsMMXQPsjxmpVB1Ev_pU.2p%22%2C%22instance_url%22%3A%22https%3A%2F%2Fcloudcertitude-13a-dev-ed.my.salesforce.com%22%2C%22id%22%3A%22https%3A%2F%2Flogin.salesforce.com%2Fid%2F00D5j000008yLhAEAU%2F0055j000004TZbAAAW%22%2C%22token_type%22%3A%22Bearer%22%2C%22issued_at%22%3A%221668330168420%22%2C%22signature%22%3A%22kkDnnUe9pZfiqiuEjRi02az0lwpAlmwmv3cMRmF9nRU
解决方案

核心原因是:Salesforce返回的application/x-www-form-urlencoded数据中,整个JSON字符串被封装成了一个名为key的表单参数值。直接处理payload会将其视为表单数据,而非JSON对象,因此需要分两步处理:

  1. 解析URL编码的表单数据
    使用DataWeave的readUrlEncoded函数解析表单,提取出包含JSON的key字段值:

    %dw 2.0
    output application/json
    ---
    readUrlEncoded(payload).key
    
  2. 将字符串解析为JSON并提取字段
    把第一步得到的字符串用read函数转换为JSON对象,之后即可正常访问access_token:

    %dw 2.0
    output application/json
    ---
    read(readUrlEncoded(payload).key, "application/json").access_token
    

也可以合并为一行代码直接提取:

%dw 2.0
output application/json
---
(read(readUrlEncoded(payload).key, "application/json")).access_token

备选方案:
如果HTTP连接器允许,可尝试将连接器的Response Content Type强制设置为application/json,让Mule自动处理解析。但如果返回的Content-Type头确实是application/x-www-form-urlencoded,优先使用上述DataWeave处理方式更可靠。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:21:01