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

如何通过PowerShell循环批量导出多个SendGrid子用户的退信(Blocks)记录

批量获取SendGrid子用户退信记录的PowerShell实现

我来帮你搞定这个批量获取的需求!你已经有了单个子用户的查询代码,只需要套个foreach循环加上一些批量处理的细节就行,具体实现如下:

核心思路

  1. 先把所有需要查询的子用户账号名整理成一个数组
  2. 遍历数组里的每个子用户,复用你现有的API请求逻辑
  3. 为每个子用户单独保存结果(避免数据混在一起),同时添加错误处理防止单个失败中断整个批量任务

完整代码示例

# 配置基础参数
$apiKey = "你的SendGrid API密钥"  # 替换为你的实际API密钥
# 替换为你的30个子用户账号名列表,按实际情况添加/修改
$subusers = @(
    "subuser-account-01",
    "subuser-account-02",
    "subuser-account-03",
    # ... 剩下的子用户账号名
)

# 循环遍历每个子用户
foreach ($subuser in $subusers) {
    Write-Host "正在获取子用户【$subuser】的退信记录..." -ForegroundColor Cyan
    
    # 构造请求头:注意`on-behalf-of`填你的SendGrid主账号名,不是子用户的
    $headers = @{ 
        'Authorization' = 'Bearer ' + $apiKey 
        'Content-Type' = 'application/json' 
        'on-behalf-of' = 'YOUR-MAIN-ACCOUNT-NAME'  # 替换为你的主账号用户名
    }

    try {
        # 调用SendGrid API获取退信记录
        $blocks = Invoke-RestMethod -Method Get -Uri 'https://api.sendgrid.com/v3/suppression/blocks' -Headers $headers
        
        # 生成带时间戳的输出文件名,避免覆盖
        $outputFileName = "$subuser-blocks-$(Get-Date -Format 'yyyyMMdd-HHmmss').json"
        $outputPath = Join-Path -Path $PWD.Path -ChildPath $outputFileName
        
        # 将结果保存为JSON格式(也可以改成CSV,看你需求)
        $blocks | ConvertTo-Json -Depth 10 | Out-File $outputPath -Encoding UTF8
        
        Write-Host "✅ 子用户【$subuser】的退信记录已保存到: $outputPath" -ForegroundColor Green
    }
    catch {
        # 捕获错误并输出,不中断整个循环
        Write-Error "❌ 获取子用户【$subuser】退信记录失败: $($_.Exception.Message)"
    }

    # 可选:添加延迟,避免触发SendGrid API速率限制(如果有需要的话)
    # Start-Sleep -Seconds 1
}

Write-Host "`n批量获取任务全部完成!" -ForegroundColor Green

注意事项

  • 权限验证:确保你的API密钥拥有Suppression权限和子用户管理权限,否则会返回权限错误
  • 主账号标识:on-behalf-of字段必须填写你的SendGrid主账号用户名,不能填子用户的账号名
  • 输出格式调整:如果需要CSV格式,把保存代码改成:
    $blocks | Export-Csv -Path $outputPath.Replace(".json", ".csv") -NoTypeInformation -Encoding UTF8
    
  • 速率限制:SendGrid API有请求速率限制,如果批量查询时遇到报错,可以在循环末尾添加Start-Sleep -Seconds 1来降低请求频率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 15:54:06