в приложении angular Мне нужно запросить контактный API Yahoo: сначала я хочу знать, можно ли запросить у клиента или нет? мой код в Angular:
ngOnInit(): void {
this.route.queryParams.subscribe(q => {
const body = {
client_id: this.yahooObj.clientId,
client_secret: this.yahooObj.clientSecret,
redirect_uri: this.yahooObj.redirect,
code: q.code,
grant_type: 'authorization_code'
}
this.http.post<any>('https://api.login.yahoo.com/oauth2/get_token',
body, {headers: new HttpHeaders({
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
'Authorization': 'Basic' + btoa(`${this.yahooObj.clientId}:${this.yahooObj.clientSecret}`)
})})
.subscribe(data => {
console.log('return data service', data);
}, (err: HttpErrorResponse) => {
console.log('Error', err);
});
});
}
yahooAuth() {
window.open(`https://api.login.yahoo.com/oauth2/request_auth?client_id=${this.yahooObj.clientId}&response_type=code&redirect_uri=${this.yahooObj.redirect}`);
}
и перенаправление и код beck со страницы аутентификации yahoo работают нормально, но запрос http.post обратно ниже Ошибки о политике CORS, так как в почтальоне работает нормально.
Доступ к XMLHttpRequest по адресу 'https://api.login.yahoo.com/oauth2/get_token' from origin 'http://localhost: 3201 ' заблокирован политикой CORS: ответ на предварительный запрос не проходит проверка контроля доступа: в запрошенном ресурсе отсутствует заголовок Access-Control-Allow-Origin.
, поскольку в почтальоне все в порядке, а в браузере есть эта ошибка политики CORS, мне нужно убедиться, что там есть ли способ вызвать этот API в клиенте?