2

ColdFusion のアプリケーションにペイパル 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 認証を使用すると述べています。

ここで私が見逃しているものを見ることができますか?

4

2 に答える 2