使用需要Angular授权的API

时间:2018-10-27 15:16:56

标签: angular typescript api http curl

我正在使用需要授权的api。我有令牌和客户端ID,因此我可以轻松地在curl上发出请求,但我正在尝试使其在我的有角度的应用程序中工作。 curl命令为:

curl -H "Authorization: $ACCESS_TOKEN" \
  "https://chitchats.com/api/v1/clients/$CLIENT_ID/shipments"

我尝试在我的角度应用程序中执行此操作:

import { Component } from '@angular/core';
import { TestService } from './test.service';
import { HttpClient,HttpHeaders,HttpParams } from '@angular/common/http';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  response:any;
  constructor(private http:HttpClient){
}
ngOnInit(){
}
searchProd(){
  let headers=new HttpHeaders().set('Authorization','$ACESS_TOKEN')
  this.http.get('https://chitchats.com/api/v1/clients/$CLIENT_ID/shipments', {headers})
  .subscribe((response)=>{
    this.response=response;
    console.log(this.response);
  })
}


}

但是,在浏览器上运行应用程序时出现403错误。 Ive可以与其他不需要授权的api一起工作。

1 个答案:

答案 0 :(得分:0)

可以请您尝试一下...

app.js

如果仍然无法使用,则允许从后端进行 cors

如果您使用 node 作为后端,则将此代码放入// Allow cross origin permission app.use(function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); }); 文件中。

SortableStruct