You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Postman获取新Access Token时的报错问题?

问题描述

配置信息

Auth type: Oauth 2.0
Client Id: provided
Client Secret: provided
grant_type: client_credentials

在Postman中点击「Get New Access Token」按钮获取访问令牌时,控制台抛出错误:

Error: []

尽管请求显示成功,但仍出现该错误。请求返回体如下:

{"tokenData":{"access_token":"access-token-here","token_type":"Bearer","expires_in":31556926},"errors":[],"success":true}

推测Postman默认期望的返回格式是:

{"access_token":"access-token-here","token_type":"Bearer","expires_in":31556926}
解决方法

Postman的OAuth 2.0令牌解析逻辑默认只识别返回体中直接存在的access_token等字段,不会自动解析嵌套在tokenData里的内容,可通过两种方式解决:

  1. 调整API返回格式(若有权限修改后端):让接口直接返回扁平结构的令牌数据,即你推测的那种格式。

  2. 使用Postman自定义令牌解析脚本:

    • 在Postman的「Authorization」标签页,选择OAuth 2.0类型,点击「Configure New Token」。
    • 在弹出窗口切换到「Advanced」标签。
    • 在「Token Request Script」区域输入以下脚本:
      pm.sendRequest({
          url: pm.variables.get("tokenUrl"),
          method: 'POST',
          header: {
              'Content-Type': 'application/x-www-form-urlencoded'
          },
          body: {
              mode: 'urlencoded',
              urlencoded: [
                  {key: "client_id", value: pm.variables.get("clientId")},
                  {key: "client_secret", value: pm.variables.get("clientSecret")},
                  {key: "grant_type", value: "client_credentials"}
              ]
          }
      }, function (err, res) {
          if (err) {
              console.log(err);
          } else {
              const responseData = res.json();
              pm.environment.set("access_token", responseData.tokenData.access_token);
              pm.environment.set("token_type", responseData.tokenData.token_type);
              pm.environment.set("expires_in", responseData.tokenData.expires_in);
          }
      });
      
    • 保存配置后,点击「Get New Access Token」即可正常获取并解析令牌。

内容的提问来源于stack exchange,提问作者Carl Ortiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 03:44:55