Как преобразовать команду cURL в http-запрос в angular?

#angular #typescript #curl

#angular #typescript #curl

Вопрос:

У меня есть эта команда cURL со страницы разработчиков paypal:

https://developer.paypal.com/docs/api/get-an-access-token-curl/

 curl -v https://api.sandbox.paypal.com/v1/oauth2/token 
   -H "Accept: application/json" 
   -H "Accept-Language: en_US" 
   -u "client_id:secret" 
   -d "grant_type=client_credentials"
  

Мой вопрос в том, как я могу преобразовать эту команду cURL в http-запрос с помощью angular?

Можете ли вы привести мне пример того, как я могу это сделать? Потому что я новичок в angular, и мне нужна помощь в этом..

Спасибо!

Комментарии:

1. Это очень широко. Вы не смогли найти какие-либо учебные ресурсы о выполнении HTTP-запросов из Angular?

2. Какую версию angular вы используете?

3. @CrisoforoGaspar В проекте, который я попытаюсь сделать, это версия 8.3.20

Ответ №1:

Первое, что я бы сделал, это выяснить, что вам действительно нужно для выполнения запроса. Похоже, у вас есть несколько заголовков аутентификации, которые необходимо передать, и я предполагаю, что это POST запрос.

Вы могли бы упростить это, используя что-то вроде инструмента CURL для Http-запроса, чтобы перевести его в более привычный формат.

TL; DR: Вот так:

     const headers = new HttpHeaders({
      'Accept': 'application/json',
      'Accept-Language': 'en_US',
      'Content-Type': 'application/x-www-form-urlencoded',
      'Authorization': 'Basic Y2xpZW50X2lkOnNlY3JldA=='
    });
    this.http.post('https://api.sandbox.paypal.com/v1/oauth2/token', 'grant_type=client_credentials', { headers: headers });
  

this.http будет ли ссылка на ваш введенный HttpClient

Вот stackblitz. Запрос выдает значение 401, поэтому я предполагаю, что учетные данные недействительны.

Комментарии:

1. Спасибо! Да, для этого вам нужен секретный ключ из вашей учетной записи paypal, но у меня это работает, потому что у меня это есть, поэтому я должен включить результат преобразования в заголовок http?

2. Да, если это дает вам токен аутентификации, вы хотите заменить свой Authorization заголовок этим токеном в последующих вызовах API.