Использование API, который требует авторизации в Angular - PullRequest
0 голосов
/ 27 октября 2018

Я использую этот API, который требует авторизации.У меня есть токен и идентификатор клиента, чтобы я мог легко выполнить запрос на 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 при запуске приложения в браузере.У меня не было проблем с работой с другими API, которые не требовали авторизации.

1 Ответ

0 голосов
/ 27 октября 2018

Можете ли вы попробовать этот способ ...

let headers: HttpHeaders = new HttpHeaders();
headers = headers.append('Authorization', '$ACESS_TOKEN');

Если все еще не работает, то разрешите cors от задней части.

Если вы используете узел в качестве бэкэнда, поместите этот код в файл app.js.

// 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();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...