将 Javascript Fetch 请求转换为 Angular Http 客户端不起作用

Posted

技术标签:

【中文标题】将 Javascript Fetch 请求转换为 Angular Http 客户端不起作用【英文标题】:Conversion of Javascript Fetch request to Angular Http client not working 【发布时间】:2020-10-30 17:43:48 【问题描述】:

我正在尝试使用 Angular HttpClient 访问 truelayer 客户端 API。该请求适用于 Sandbox API,但是,对于实时环境 API,我得到了“internal_server_error”。下面是我的Httpclient代码

this.http.post<tokentype>('https://auth.truelayer.com/connect/token','grant_type':'authorization_code','client_id':'<my-id>','client_secret':'<my-client-secret>','redirect_uri':'<my-redirect-url>','code':'<access-code>', headers: new HttpHeaders('Content-Tye':"application/json; charset=utf-8"))
       .subscribe(data => 
         console.log('Token Finally Gotten 1:');
         console.log(data);      
        , error => 
        console.log('Error 1: ' + JSON.stringify(error))
       );

当我将 Url 更改为 https://auth.truelayer-sandbox.com/connect/token 时,它工作正常。下面是我从 Truelayer Postman 那里得到的 jQuery 代码

var settings = 
  "url": "https://auth.truelayer.com/connect/token",
  "method": "POST",
  "timeout": 0,
  "data": 
    "grant_type": "authorization_code",
    "client_id": "",
    "client_secret": "",
    "redirect_uri": "https://console.truelayer.com/redirect-page",
    "code": ""
  
;

$.ajax(settings).done(function (response) 
  console.log(response);
);

【问题讨论】:

【参考方案1】:

似乎有些参数不匹配。请验证您输入的 clientid、凭据、redirecturl 等值是否与实时环境相关,而不是沙盒。

【讨论】:

以上是关于将 Javascript Fetch 请求转换为 Angular Http 客户端不起作用的主要内容,如果未能解决你的问题,请参考以下文章