gpt4 book ai didi

ruby - 使用 ruby​​ curb gem 访问 paypal api

转载 作者:太空宇宙 更新时间:2023-11-03 16:31:11 24 4
gpt4 key购买 nike

按照 Paypal Developer 中的说明“调用您的第一个电话”:

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"

它正在运行并获得了与指令状态一样的预期结果,但我更喜欢使用 ruby​​ curb gem:

require 'curl'

paypal_result = Curl::Easy.http_post("https://api.sandbox.paypal.com/v1/oauth2/token", "grant_type=client_credentials") do |http|
http.headers['Accept'] = "application/json"
http.headers['Accept-Language'] = "en_US"
http.username = "EOJ2S-Z6OoN_le_KS1d75wsZ6y0SFdVsY9183IvxFyZp:EClusMEUk8e9ihI7ZdVLF5cZ6y0SFdVsY9183IvxFyZp"
end

puts paypal_result.body_str

但是我得到了以下信息:

{"error":"invalid_client","error_description":"The basic auth authorization header cannot be decoded"}

这肯定是一个错误,但我的 curb 语法有什么问题?有什么想法吗?

最佳答案

我无法准确地告诉您哪里出了问题,但我可以告诉您如何查看正在发生的事情。尝试将其设置为详细模式,以便您可以查看实际发送的数据和 header :

curl = Curl::Easy.new

# Make it verbose, prints to stderr
curl.verbose = true

paypal_result = curl.http_post("https://api.sandbox.paypal.com/v1/oauth2/token", "grant_type=client_credentials") do |http|
# etc.
end

您可以使用 -v 标志与 CLI 版本进行比较。

希望能帮助您发现差异。

关于ruby - 使用 ruby​​ curb gem 访问 paypal api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15633207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com