#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.