带有 paypal api 的客户端无效,使用 HTTPoison.post 的客户端身份验证失败!/3
Posted
技术标签:
【中文标题】带有 paypal api 的客户端无效,使用 HTTPoison.post 的客户端身份验证失败!/3【英文标题】:Invalid Client with paypal api, client authentication failed using HTTPoison.post!/3 【发布时间】:2021-10-08 01:09:41 【问题描述】:我正在使用 HTTPoison 向 Paypal api 发送请求。以下是使用其 api 登录的 paypal 文档:https://developer.paypal.com/docs/log-in-with-paypal/integrate/
当我获取代码并尝试将其交换为访问令牌时,我收到此错误:"\"error\":\"invalid_client\",\"error_description\":\"Client Authentication failed\"",
这是 HTTPoison.post!/3 发布请求的方式:
url = "https://api-m.sandbox.paypal.com/v1/oauth2/token"
headers = [
Authorization: "Basic #ClientID:#Secret"
]
body = "grant_type=authorization_code&code=#code"
HTTPoison.post!(url, body, headers)
这显示了status_code: 401
和\"error\":\"invalid_client\",\"error_description\":\"Client Authentication failed\"",
错误。如何解决这个问题?
【问题讨论】:
这能回答你的问题吗? Reddit api oauth authentication elixir 【参考方案1】:HTTP 基本身份验证要求对值进行 base-64 编码。尝试这样做:
Authorization: "Basic " <> Base.encode64("#ClientID:#Secret")
【讨论】:
我在 2 天前就知道了,但无论如何感谢您的评论。我还有另一个问题,您可能知道如何解决。要授权订单,您需要在标头中传递“PayPal-Request-Id”。但是,您如何获得 paypal 请求 id 以进行授权和订购?这是贝宝文档,它没有提供有关如何获取它的信息:developer.paypal.com/docs/api/orders/v2 @user15690889 如果您解决了您的问题,您应该回到这里并为他人的利益回答您自己的问题(或者如果您认为与其他人无关,请删除该问题),并防止人们浪费时间重复你的努力。这不是一个客户支持网站,而是一个社区努力的知识库。 我是来做这个的,但发现你已经回答了我的问题,谢谢你这样做。以上是关于带有 paypal api 的客户端无效,使用 HTTPoison.post 的客户端身份验证失败!/3的主要内容,如果未能解决你的问题,请参考以下文章
PayPal java postback API 总是无效的
Docapture 方法 paypal api 中的交易 ID 无效