【发布时间】:2013-08-16 14:17:38
【问题描述】:
我正在尝试为 ColdFusion 中的应用程序实现 paypal REST API。我在 paypal 中设置了我的应用程序,所以我有 client_id 和密钥。
https://developer.paypal.com/webapps/developer/docs/integration/direct/make-your-first-call/
此 URL 显示了我试图在 CF 中重现的示例 curl 调用:
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”-“无效的客户端凭据”。文档声明授权应该以“client_id:secret”的形式传递。我一直在尝试更改字段的名称,尝试将其传递到标题中并尝试将其作为表单字段传递,但均无济于事。尽我所能,paypal 不需要签名方法并声明它使用基本的 http auth。
谁能看到我在这里遗漏了什么?
【问题讨论】:
标签: rest paypal oauth coldfusion