The same request returns successfully in python, as in
conn = http.client.HTTPConnection("api,sandbox,paypal,com")
payload = "grant_type=client_credentials"
headers = {
'Content-Type': "application/x-www-form-urlencoded",
'Authorization': "Basic
QVF5YS10UmFKUlIzTVVHQVY2MTg4OVl5eEc1MFdmUlhhZEtLYWZqU0hpRUZxT195WGRFNWR3T01BdC1NeklMeU54S2Y3XzNHM3JuYmx1aWE6RVBYQjUxREhLY3RqemtzUzJqUUhwbWVFckdRWnpwalRxZmZGZ3VhZlRUNm1lVFRmTF9VNG1MYVF4MDFFLVRXcEw0MmlHVkNxSkFIQmNSYkE=",
'User-Agent': "PostmanRuntime/7.15.0",
'Accept': "*/*",
'Cache-Control': "no-cache",
'Postman-Token':
"1b42b98e-5c36-4d2b-958c-91463fef648c,269500a1-20d2-479f-90fb-fb2706a7475a",
'Host': "api.sandbox.paypal.com",
'accept-encoding': "gzip, deflate",
'content-length': "29",
'Connection': "keep-alive",
'cache-control': "no-cache"
}
conn.request("POST", "v1,oauth2,token", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8”))
The result is
{"scope":"https://uri.paypal.com/services/invoicing
https://uri.paypal.com/services/disputes/read-buyer
https://uri.paypal.com/services/payments/realtimepayment
https://uri.paypal.com/services/disputes/update-seller
https://uri.paypal.com/services/payments/payment/authcapture openid
https://uri.paypal.com/services/disputes/read-seller
https://uri.paypal.com/services/payments/refund
https://api.paypal.com/v1/vault/credit-card
https://api.paypal.com/v1/payments/.* https://uri.paypal.com/payments/payouts
https://api.paypal.com/v1/vault/credit-card/.*
https://uri.paypal.com/services/subscriptions
https://uri.paypal.com/services/applications/webhooks","access_token":"A21Ajrtihjrujhirjhiojheioji5wt83qyt78y3785y7845FEWRGFERHGIEGEWGzpuO0xg_I75pmqFAoSIuArLnfQIoBPdJLdyKSgig","token_type":"Bearer","app_id":"APP-876543FSDFSFP519543T","expires_in":32400,"nonce":"2019-11-15T16:00:40ZlUhzF8DCS6fFc88NwHf-BjiJZv6_DdVG4J8MU5VaHC0"}
> On Nov 15, 2019, at 14:48, Iuri Sampaio <[email protected]> wrote:
>
> So far, I added the line
>
> ns_set update $requestHeaders "Authorization" "Basic $auth_base64"
>
> which is using
> set auth_base64 [base64::encode “********”]
>
> and the results are
>
> [15/Nov/2019:13:19:55][450.7f7a7d7fa700][task:tclhttp] Notice: HttpTaskRecv:
> connection probably closed by server (url
> https://api.sandbox.paypal.com/v1/oauth2/token
> <https://api.sandbox.paypal.com/v1/oauth2/token>)
> [15/Nov/2019:13:19:55][450.7f7a65ffb700][-conn:evex:88:31735-] Notice: status
> code 0
> [15/Nov/2019:13:19:55][450.7f7a65ffb700][-conn:evex:88:31735-] Notice: reply
> [
>
>
>> On Nov 15, 2019, at 12:21, Iuri Sampaio <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> What would be the argument/switch to convert the option -u, from CURL
>> command, to ns_http command?
>>
>> curl -v https://myhost.com/oauth2/token <https://myhost.com/oauth2/token> \
>> -H "Accept: application/json" \
>> -H "Accept-Language: en_US" \
>> -u "client_id:secret" \
>> -d "grant_type=client_credentials"
>>
>>
>>
>> Reading ns_http documentation I was not able to figure that out.
>> https://naviserver.sourceforge.io/n/naviserver/files/ns_http.html#section3
>> <https://naviserver.sourceforge.io/n/naviserver/files/ns_http.html#section3>
>>
>>
>>
>> set url "https://myhost.com/v1/oauth2/token
>> <https://myhost.com/v1/oauth2/token>"
>> set requestHeaders [ns_set create]
>> set replyHeaders [ns_set create]
>>
>> ns_set update $requestHeaders "Content-Type" "application/json"
>> ns_set update $requestHeaders "Accept" "application/json"
>> ns_set update $requestHeaders "Accept-Language" "en_US"
>>
>> set data "grant_type=client_credentials"
>>
>>
>> set result [ns_http queue -method POST \
>> -headers $requestHeaders \
>> -timeout 10.0 \
>> -body $data \
>> $url]
>> ns_http wait -result R -headers $replyHeaders -status S $result
>>
>>
>>
>>
>> Best wishes,
>> I
>> _______________________________________________
>> naviserver-devel mailing list
>> [email protected]
>> <mailto:[email protected]>
>> https://lists.sourceforge.net/lists/listinfo/naviserver-devel
>
_______________________________________________
naviserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/naviserver-devel