使用 Thunder Client 调用 Salesforce API 的完整指南

一、工具概述与优势

Thunder Client 是 VS Code 的轻量级 API 测试插件,凭借其集成开发环境(IDE)的无缝协作能力,在开发者社区中迅速崛起。相较于 Postman,Thunder Client 在以下方面具有显著优势:

  1. 免费版无敏感信息存储限制
  2. 原生支持 OAuth 2.0 隐式授权流程 (Postman 免费版不支持)
  3. 环境变量(Env)实时同步功能 (Postman 免费版不支持环境变量)

二、准备工作

  1. 安装 VS Code 并通过扩展商店安装 Thunder Client
  1. 在 Salesforce 开发者账号中创建连接应用(Connected App),获取:

    • Client ID
    • Redirect URL
  2. 在 Thunder Client 中创建新环境(File > Preferences > Thunder Client > Environments)

三、OAuth 2.0 隐式授权流程

3.1 构建授权请求

  1. 新建 POST 请求
  2. 设置 URL 为 Salesforce 授权端点:
bash 复制代码
https://<your-instance>/services/oauth2/authorize
  1. Query Parameters 配置:
ini 复制代码
*   response_type=token
*   client_id=<Your_Client_ID>>
*   redirect_uri=<Your_Redirect_URL>>
*   display=popup
*   scope=api id

3.2 处理回调与 Token 提取

  1. 发送请求后,在标签页点击 "Get Access Token From Callback URL"
  1. 系统自动解析回调 URL 中的 token 参数

代码片段说明 :Thunder Client 内部通过 window.location.replace() 模拟浏览器重定向行为,开发者无需手动处理回调逻辑。

四、API 调用实践

4.1 查询用户信息

  1. 新建 GET 请求
  2. URL 设置为:
bash 复制代码
{{INSTANCE_URL}}/services/oauth2/userinfo
  1. Headers 配置:
css 复制代码
*   Authorization: Bearer {{ACCESS_TOKEN}}
*   Content-Type: application/json

4.2 响应处理

成功响应示例(Status 200 OK,Size 3.63 KB):

json 复制代码
{
  "totalSize": 1,
  "done": true,
  "records": [
    {
      "attributes": {
        "type": "Lead",
        "url": "/services/data/v60.0/sobjects/Lead/00QC6123456sDbNMAU"
      },
      "Id": "00QC6123456sDbNMAU"
    }
  ]
}

五、高级技巧

5.1 使用 Collections 管理 API 流程

创建新集合(Collection)

相关推荐
_一条咸鱼_5 分钟前
Android Runtime冷启动与热启动差异源码级分析(99)
android·面试·android jetpack
星眠15 分钟前
手写发布订阅设计模式
javascript·设计模式·面试
寅时码16 分钟前
消除大模型幻觉,让AI-IDE真正理解代码,打通LSP与AI的任督二脉
visual studio code·cursor·mcp
天天摸鱼的java工程师20 分钟前
如何实现一个分布式锁?——来自 Java 老兵的实战总结 🚀🔐
java·后端·面试
北京_宏哥23 分钟前
🔥Python零基础从入门到精通详细教程10 - python数据类型之数字(Number)-整型(int)详解
前端·python·面试
小高00726 分钟前
别让主线程累成狗!——带你 10 分钟撸一个 Web Worker,让浏览器偷偷开外挂
前端·javascript·面试
一涯41 分钟前
自己写一个vscode插件
前端·visual studio code
big_eleven1 小时前
JVM入门基础
java·后端·面试
天天摸鱼的java工程师3 小时前
QPS 10 万,任务接口耗时 100ms,线程池如何优化?
java·后端·面试
知其然亦知其所以然3 小时前
MySQL社招面试题:索引有哪几种类型?我讲给你听的不只是答案!
后端·mysql·面试