如何在邮递员中设置动态变量
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}}
我正在开发需要授权的 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}}