Meu ambiente e recursos do meu aplicativo/projeto: Angular 19 e .Net Backend, obtenção de dados de vídeos do YouTube e recurso de login e registro com http_interceptors.
Meu problema ou meu problema: minha API de consulta para o YouTube não está funcionando se eu estiver usando http_interceptors em main.ts. É assim que eu testo: eu comento os http_interceptors, então minha API de consulta está funcionando como deveria.
meu http_interceptor em main.ts:
{
provide: HTTP_INTERCEPTORS,
useClass: JwtInterceptor,
multi: true
},
meu erro ao obter HTTP e assinatura do Youtube:
{
"headers": {
"normalizedNames": {
},
"lazyUpdate": null
},
"status": 401,
"statusText": "OK",
"url": "https://www.googleapis.com/youtube/v3/playlistItems?key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&part=snippet&maxResults=12&playlistId=PLPvjlyTckx7OhGYE9JZw9Q1MYP_n-u-8V",
"ok": false,
"name": "HttpErrorResponse",
"message": "Http failure response for https://www.googleapis.com/youtube/v3/playlistItems?key=xxxxxxxxxxxxxxxxxxxxxxxx&part=snippet&maxResults=12&playlistId=PLPvjlyTckx7OhGYE9JZw9Q1MYP_n-u-8V: 401 OK",
"error": {
"error": {
"code": 401,
"message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"errors": [
{
"message": "Invalid Credentials",
"domain": "global",
"reason": "authError",
"location": "Authorization",
"locationType": "header"
}
],
"status": "UNAUTHENTICATED"
}
}
}
meu código JwtInterceptor no componente:
export class JwtInterceptor implements HttpInterceptor {
private accountService = inject(AccountService);
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
this.accountService.user$.pipe(take(1)).subscribe({
next: user => {
if (user) {
// Clone from the coming request and add Authorization header to that
request = request.clone({
setHeaders: {
Authorization: `Bearer ${user.jwt}`
}
});
}
}
})
return next.handle(request);
}
}
Minha pergunta é: como faço para desabilitar o interceptador quando tento acessar ou obter dados do YouTube?
Obrigado.