首页 > 解决方案 > 邮递员 OAuth 令牌请求有时会失败,有时会成功

问题描述

我在集合级别使用 Postman Pre-script 生成 oAuth 令牌并准备 Bearer 授权令牌标头以使用该标头在集合中调用我的请求。为此,我从本地创建的环境中获取我的 tokenURL、clientId 和 clientSecret。但我目睹了一种非常奇怪的邮递员行为,如下所述。设置看起来像 .

预请求脚本:

在此处输入图像描述

环境中的变量配置

在此处输入图像描述

问题:

问题是每次我尝试在我的集合中运行请求时,OAuth 令牌生成脚本最初都会失败 2-3 次(失败的意思是尽管请求成功并带有响应代码 200,并生成 accessToken 并成功附加在Authorization Bearer中:令牌,仍然是使用该令牌的请求将其标记为无效令牌(非常奇怪)),然后是它可以正常工作的时候没有任何问题。然后一段时间它工作正常,但一段时间后又失败了。因为 OAuth 令牌不是由 pre-script 生成的,所以我的请求因401授权而失败,当它们随机成功时,我得到成功的响应(200)。我对这个预请求脚本的随机行为感到困惑,不明白是什么原因造成的?下面是显示相同行为的快照:

在此处输入图像描述

正如您在图像中看到的,生成令牌的 POST 调用始终返回200响应,但我使用该令牌 (GET) 的 API 请求最初失败 2 次,并返回401,这意味着令牌被视为无效。但是如您所见,第 3 次,令牌生成 URL 再次返回200 ,这一次我的 API 请求 GET url 也返回成功的200回复 。这让邮递员的行为真的很奇怪。在我们调用没有帮助的令牌调用之前,我尝试添加 1 秒的睡眠。所以我想知道如何解决这个问题?此外,当我使用我的预脚本中硬编码的 clientId、clientSecret 和令牌 URL 运行此预请求时(不从邮递员 env 中获取),那么脚本始终可以正常工作。欢迎和赞赏任何解决此问题的帮助/建议。

标签: restpostmanpostman-collection-runnerpostman-pre-request-script

解决方案


推荐阅读