Я пытаюсь реализовать API REST Paypal для приложения в ColdFusion. У меня есть мое приложение, настроенное в paypal, поэтому у меня есть секретный ключ client_id &.ColdFusion Paypal REST API oAuth
https://developer.paypal.com/webapps/developer/docs/integration/direct/make-your-first-call/
Этот URL показывает пример локон называют, что я пытаюсь воспроизвести в CF:
curl https://api.sandbox.paypal.com/v1/oauth2/token \
-H "Accept: application/json" \
-H "Accept-Language: en_US" \
-u "EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp" \
-d "grant_type=client_credentials"
вот мой CF вызов (измененная ключи немного для моей тестовой учетной записи)
<cfhttp method="post" url="https://api.sandbox.paypal.com/v1/oauth2/token" result="test">
<cfhttpparam type="header" name="authorization" value="ASfK_BCZ54849na-kMSKvrKEk4WNDkoIikQlTfsI3nS-ghY1VTzH5q2pU:EC-7qhACEQ7XGjo2dU4gFPJDH3Et0KeMx0Z5Xmbf9PnhPE5diq-CO" >
<cfhttpparam type="header" name="content-type" value="application/x-www-form-urlencoded" >
<cfhttpparam type="formfield" name="grant_type" value="client_credentials" >
ответ Я получаю это «invalid_client "-" недопустимые учетные данные клиента ". Документы заявляют, что auhorization следует передавать в виде «client_id: secret». Я играл вокруг изменения имен моего поля, пытался передать его в заголовке и пытался передать его как поле формы, но безрезультатно. Лучшее, что я могу сказать, paypal не требует метода подписи и заявляет, что он использует базовый http auth.
Может ли кто-нибудь увидеть, чего я здесь не вижу?
Я изменил его на:, и теперь он возвращает пустую строку. Я выполнял инструкции на этой папской ссылке, в которой говорилось: «Примечание. Убедитесь, что запросы для токена доступа задают тип содержимого как application/x-www-form-urlencoded. Это делается по умолчанию в вызовах cURL». Это то, что я пытаюсь сделать в тот момент, который извлекает токен. –
Dan
У меня сейчас работает, и решение должно было передать учетные данные в строке CFHTTP: –
Dan
@Dan - Вы должны опубликовать это как отдельные ответы, так что это более заметно. – Leigh