variables - 如何在邮递员中设置动态变量
问题描述
我正在研究一组需要授权的 API 开发,因此在标头中我必须包含键Authorization
和值,Bearer <access_token>
如下所示:
我有另一个我调用的授权 api,作为回报,它给了我以下具有令牌值的数据:
{
"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 api 中设置了令牌变量
在另一个 api 中,我现在已经使用{{token}}
但看起来它无法找到它
解决方案
您应该能够在“测试”选项卡中使用它:
pm.globals.set('token', pm.response.json.data.access_token)
保存变量后,您可以将{{token}}
其用作标题值。
如果过期,请再次发出令牌请求以在任何地方设置新值。
或者,您可以使用类似这样的方法(您需要针对您的上下文修改脚本)在令牌过期时自动刷新令牌:
https://dannydainton.com/2018/09/10/postman-the-bearer-of-good-news/
推荐阅读
- python - pygame中的音量控制
- variables - 可变通过动态管道
- python - Safari Private 浏览器上的 403 CSRF 验证失败
- c# - C# 从 DotNet EXE 安装程序中捕获进度
- javascript - 使用 Javascript 提升概念,我尝试了以下方法。我不确定为什么选择了 name 变量而不是年龄
- linux - 为什么执行 (False) if 语句中的部分代码?
- excel - 是否可以将 .CopyFromRecordset 中的数据粘贴到特定的单元格中
- sql - CONVERT 函数没有我在 SQL 2008 中需要的日期时间的正确格式
- javascript - 使用javascript es6从包含唯一ID和嵌套数组的多个对象数组中获取公共数据
- reactjs - 对象上的 useSelector() 与对象的属性相比性能更高吗?