如何在邮递员中设置动态变量

How to set dynamic variable in postman

我正在开发需要授权的 API 开发集,因此在 headers 中我必须包含键 Authorization 和值 Bearer <access_token>,如下所示:

我有另一个授权 api,我调用它,在 return 中,它给了我以下具有令牌值的数据:

{
    "data": {
        "access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkNwMTFCNXRGaWZLOZ1lOQXp5ZnZUa1hWMXhkbXJHOXBtem1xY0NRQT0iLCJhcHBfZGlzcGxheW5hbWUiOiJ1c2VyYWNjZXNzIiwiYXBwaWQiOiIyNDg4YTNiNi00MjlhLTQyZWMtYTVhZi04ZTQzZWFjNjJlMWIiLCJhcHBpZGFjciI6IjEiLCJpZHAiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC80ZjdjNzBhNy1mOGRlLTRhMzMtOGYzNS05OWE5ZDQ1NThkODUvIiwiaWR0eXAiOiJhcHAiLCJvaWQiOiJmNDk2NjUwZS1kOTgzLTRjNDItODViNC03NzYxZjljMTEzZDQiLCJyaCI6IjAuQVhjQXAzQjhUOTc0TTBxUE5abXAxRldOaGJhamlDU2FRdXhDcGEtT1EtckdMaHQzQUFBLiIsInJvbGVzIjpbIklkZW50aXR5VXNlckZsb3cuUmVhZFdyaXRlLkFsbCIsIlVzZXJTaGlmdFByZWZlcmVuY2VzLlJlYWQuQWxsIiwiVXNlckF1dGhlbnRpY2F0aW9uTWV0aG9kLlJlYWQuQWxsIiwiVXNlci5SZWFkV3JpdGUuQWxsIiwiVXNlckF1dGhlbnRpY2F0aW9uTWV0aG9kLlJlYWRXcml0ZS5BbGwiLCJEaXJlY3RvcnkuUmVhZFdyaXRlLkFsbCIsIklkZW50aXR5Umlza3lVc2VyLlJlYWRXcml0ZS5BbGwiLCJJZGVudGl0eVVzZXJGbG93LlJlYWQuQWxsIiwiVXNlci5JbnZpdGUuQWxsIiwiRGlyZWN0b3J5LlJlYWQuQWxsIiwiVXNlci5SZWFkLkFsbCIsIlVzZXJOb3RpZmljYXRpb24uUmVhZFdyaXRlLkNyZWF0ZWRCeUFwcCIsIlVzZXJTaGlmdFByZWZlcmVuY2VzLlJlYWRXcml0ZS5BbGwiLCJBcHBSb2xlQXNzaWdubWVudC5SZWFkV3JpdGUuQWxsIiwiVXNlci5FeHBvcnQuQWxsIiwiSWRlbnRpdHlSaXNreVVzZXIuUmVhZC5BbGwiLCJVc2VyLk1hbmFnZUlkZW50aXRpZXMuQWxsIl0sInN1YiI6ImY0OTY2NTBlLWQ5ODMtNGM0Mi04NWI0LTc3NjFmOWMxMTNkNCIsInRlbmFudF9yZWdpb25fc2NvcGUiOiJOQSIsInRpZCI6IjRmN2M3MGE3LWY4ZGUtNGEzMy04ZjM1LTk5YTlkNDU1OGQ4NSIsInV0aSI6IkVIYXVmb1pwazBhU2std0QyTEFlQUEiLCJ2ZXIiOiIxLjAiLCJ4bXNfdGNkdCI6MTYwODMwOTI5OH0.kEoNTY84S2sxjAlLGmfJzKYJ_20m9tOR22l3XFdrZVOR4Kv3X1ThZRvr-WckfVN0PeyQ_IIMdY7cf231MRfdMd8dTe0HdSobrBWuFel7gmdmstAWPeNLj5hIM2mQueNuyOa3PucR9qfOr0yQ-FA7I4F2UjFLN7WfU0NhP0hnI3Qg4mnnq1xc727kvZWC9KzbEszVpEnVtewLxKgWIIwRl_NsG6ghIO0utc3aJsU8f7oULVtb99gUhLM-4v5YcAk2xZebRoVnsJYv4tfg8cZJasG9POv7akzdjD8tKhjF1hOGjcowY3E0AxdiC4wYU0S7fj2Mpx4HD1gV9hPneFTgaA",
        "expires_in": "3599",
        "expires_on": "1618296096",
        "ext_expires_in": "3599",
        "not_before": "1618292196",
        "resource": "https://graph.microsoft.com",
        "token_type": "Bearer"
    },
    "msg": "",
    "status": true
}

它有 access_token,我必须将其复制到所有其他 api 中才能授权。此令牌每 60 分钟过期一次,因此我必须一次又一次地复制粘贴令牌。有什么方法可以让我在邮递员中定义一个动态变量并为其分配 access_token 的值,这样每当它过期时,我只需查询授权 api 并且该动态变量的值会自动刷新.这将有助于在所有其他 API 中再次复制粘贴令牌。

编辑:

我已经在 getoauthtoken 中设置了 token 变量 api

在另一个 api 中,我现在使用了 {{token}},但看起来找不到它

您应该可以在“测试”选项卡中使用它:

 pm.globals.set('token', pm.response.json.data.access_token)  

保存变量后,您可以使用 {{token}} 作为 header 值。

如果过期,请再次请求令牌以在所有地方设置新值。

或者,您可以使用类似这样的方法(您需要根据上下文修改脚本)在令牌过期时自动刷新令牌:

https://dannydainton.com/2018/09/10/postman-the-bearer-of-good-news/

您可以转到“测试”选项卡。和 copy/paste 此代码 javascript 代码。

pm.environment.set('token', pm.response.json().token)

将令牌值保存到环境变量后,您可以转到 Authorization 选项卡 并单击 类型下拉菜单 和 select Bearer token 就像在屏幕截图中一样。

然后将其放入令牌输入 {{token}}