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

如何用PowerShell调用BambooHR API下载CSV报告?

解决BambooHR API PowerShell自动下载CSV报告的问题

我帮你梳理下这个问题,你遇到的「The underlying connection was closed」错误,大概率是TLS版本不兼容导致的——BambooHR的API要求使用TLS 1.2或更高版本,但默认的PowerShell环境可能还在使用老旧的TLS协议。另外你的原命令还有几个需要修正的地方,下面一步步给你搞定:

第一步:先启用正确的TLS版本

在调用下载命令之前,先执行这行代码,强制PowerShell使用TLS 1.2:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

第二步:调整身份验证和URI格式

你原命令里直接把API Token塞在URL里的方式容易出解析问题,而且URI用了HTTP(BambooHR API只支持HTTPS),咱们换更规范的凭证传递方式:

首先,把你的API Token和固定密码「x」转换成PowerShell能识别的凭证对象:

$apiToken = "你的API_TOKEN"
$password = ConvertTo-SecureString "x" -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ($apiToken, $password)

然后构造正确的HTTPS请求地址,记得把占位符换成你自己的信息:

$uri = "https://api.bamboohr.com/api/gateway.php/你的公司域名/reports/你的报告ID/?format=csv"

这里的「你的公司域名」是你登录BambooHR时的前缀(比如你登录地址是acme.bamboohr.com,就填acme);「你的报告ID」可以在浏览器打开报告时从URL里找到,或者用报告的自定义别名。

第三步:执行下载并保存CSV

最后调用命令把报告下载到指定路径:

Invoke-WebRequest -Uri $uri -Credential $credential -OutFile "C:\你要保存的路径\BambooHR_Report.csv"

完整可直接用的脚本

把上面的内容整合起来,替换掉占位符就能用:

# 强制启用TLS 1.2,解决连接关闭问题
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

# 配置BambooHR API凭证
$apiToken = "替换成你的API_TOKEN"
$password = ConvertTo-SecureString "x" -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ($apiToken, $password)

# 构造请求地址
$companyName = "替换成你的公司域名前缀"
$reportId = "替换成你的报告ID或别名"
$uri = "https://api.bamboohr.com/api/gateway.php/$companyName/reports/$reportId/?format=csv"

# 下载并保存CSV报告
Invoke-WebRequest -Uri $uri -Credential $credential -OutFile "C:\Downloads\BambooHR_Employee_Report.csv"

额外检查项

  • 确认你的API Token在BambooHR后台有访问该报告的权限(可以在BambooHR的API设置里核对)
  • 检查URI里的报告ID/别名是否正确,浏览器里能打开的报告地址,替换成API格式后应该也能正常访问

内容的提问来源于stack exchange,提问作者Michael De Abreu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:19:39