使用邮递员从请求中获取令牌并将其发送给另一个

问题描述 投票:0回答:6

我正在使用邮递员对 REST API 进行一些测试。

要登录,我使用一个发布请求,该请求使用令牌进行响应,我需要继续将其与另一个请求一起使用。

我就是这样做的: enter image description here

然后我想在另一个需要标头中该令牌的请求中使用它:

enter image description here

我似乎没有发送令牌。我做错了什么?

postman
6个回答
8
投票

假设登录响应是:

{
   "message": {
        "token":"Some token value here"
    }
}

最新的邮递员有轻微的变化,这里是设置变量的语法:

var data = pm.response.json();
pm.environment.set("token", data.message.token);

在此处阅读更多信息: https://learning.getpostman.com/docs/postman/environments_and_globals/variables/


4
投票

问题是我使用的是

postman.setEnvironmentVariable()
而不是
postman.setGlobalVariable()

我找到了答案在这里


3
投票

我在邮递员的“测试”选项卡中使用了以下脚本,它对我有用。

pm.environment.set("access_token", JSON.parse(responseBody).access_token);

在第一个 API 中设置访问令牌后,我将在第二个 API 中传递该访问令牌。


0
投票

您可以将令牌保存到环境变量中,并在该集合下的任何请求中访问。也许这个链接会有帮助:

从响应和链接请求中提取数据


0
投票
  1. 前往登录API

  2. 转到“测试”选项卡。

  3. 添加以下脚本。该脚本将使用响应令牌设置变量“AuthToken”。

    var jsonData = JSON.parse(responseBody); postman.setEnvironmentVariable("AuthToken", jsonData.data.accessToken);

enter image description here


0
投票

除了上面 Gaurav 的回答之外,可能首先检查响应的状态会更好:

if(pm.response.code === 200) {
    pm.environment.set('authToken', pm.response.json().token)
}
© www.soinside.com 2019 - 2024. All rights reserved.