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

如何在Jitterbit中捕获重定向URL的Response header(Location)

如何在Jitterbit HTTP v2连接器中捕获Bullhorn OAuth重定向的Location响应头

问题背景

调用Bullhorn REST API的OAuth端点获取授权码时,服务端会触发重定向,授权码包含在重定向URL的Location响应头中。在Postman中禁用「Automatically follow redirects」后,可直接从响应头提取该字段,但在Jitterbit HTTP v2连接器中:

  • Bullhorn不支持客户端凭证/密码授权类型,无法使用Jitterbit内置OAuth功能
  • 设置连接为「No Auth」并传入正确查询参数后,通过$jitterbit.target.http.response.header.Location或$jitterbit.source.http.response.header.Location无法读取到重定向的Location头,仅能获取原请求端点的响应头

解决方案

1. 禁用HTTP v2操作的自动重定向

Jitterbit HTTP v2默认自动跟随重定向,导致无法捕获中间的重定向响应头。需要在HTTP v2 GET操作的Advanced设置中,将「Follow Redirects」改为No,和Postman的操作逻辑保持一致。

2. 在操作后脚本中读取响应头

禁用重定向后,Jitterbit会返回3xx状态码的重定向响应,此时需在操作后的脚本(而非转换脚本)中读取响应头,示例代码如下:

// 获取重定向的Location头
var locationHeader = $jitterbit.target.http.response.header.Location;
$jitterbit.log.info("重定向URL: " + locationHeader);

// 从URL中提取授权码(假设参数名为code)
var authCodeMatch = locationHeader.match(/code=([^&]+)/);
if(authCodeMatch != null){
    var authCode = authCodeMatch[1];
    $jitterbit.log.info("提取到授权码: " + authCode);
    // 将授权码存入全局变量供后续流程使用
    $jitterbit.vars.Set("bullhorn_auth_code", authCode);
}

3. 验证响应状态码

在脚本中添加状态码打印,确认请求返回的是3xx重定向状态(如302),避免因设置错误导致请求直接返回200:

$jitterbit.log.info("响应状态码: " + $jitterbit.target.http.response.status);

4. 核对请求参数与连接设置

  • 确认HTTP v2连接的「Authentication」设置为No Auth
  • 确保GET请求的查询参数与Postman完全一致,包括client_id、response_type=code、redirect_uri、scope等必填项

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 23:10:01