gpt4 book ai didi

paypal - 由于授权失败,无法调用 PayPal Sync API

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

我正在尝试使用相对较新的 PayPal Sync API下载我的 PayPal 交易。我正在关注 the Sync API guide .我首先登录到 PayPal 开发人员仪表板 My Apps & Credentials page ,滚动到 REST API 应用部分,创建一个应用,点击它,然后为沙盒和真实账户启用交易搜索

然后我使用沙盒帐户的客户端 ID 和 key 生成访问 token 。我确认客户端 ID 和密码正确且有效。我的 cURL 命令如下(请注意,我在 Windows 10 上使用 cURL):

curl -v https://api.sandbox.paypal.com/v1/oauth2/token ^
-H "Accept: application/json" ^
-H "Accept-Language: en_US" ^
-u "<my-client-id>:<my-secret>" ^
-d "grant_type=client_credentials"

我收到了类似下面的回复(我添加了格式):

{
"scope":"https://uri.paypal.com/services/reporting/search/read
https://api.paypal.com/v1/payments/.*
https://uri.paypal.com/services/applications/webhooks
openid",
"nonce":"2018-04-04T02:20:02Z...",
"access_token":"<my-access-token>",
"token_type":"Bearer",
"app_id":"<my-app-id>",
"expires_in":32400
}

然后我获取了访问 token 并将其复制到 the sample command 中在 Sync API 指南页面上。这是我运行的命令:

curl -v -X GET https://api.sandbox.paypal.com/v1/reporting/transactions?transaction_id=5TY05013RG002845M&fields=all&page_size=100&page=1 ^
-H "Content-Type: application/json" ^
-H "Authorization: Bearer <my-access-token>"

我收到以下错误响应:

< HTTP/1.1 401 Unauthorized
...
< Content-Length: 244
< Connection: close
< Content-Type: application/json
<
{
"name":"AUTHENTICATION_FAILURE",
"message":"Authentication failed due to invalid authentication credentials or a missing Authorization header.",
"links":[{
"href":"https://developer.paypal.com/docs/api/overview/#error",
"rel":"information_link"
}]
}

我尝试了很多方法来纠正这个错误,包括:

  1. 向命令添加“Accept: application/json”和“Accept-Language: en_US” header 。
  2. 创建新的 Secret 并生成新的访问 token 。
  3. 使用新的客户端 ID 和密码创建新应用并生成新的访问 token 。
  4. 禁用事务搜索,重新启用它,然后再次发送命令。
  5. 在真实账户中尝试。

这些尝试中的每一个都产生了相同的结果。我注意到,在访问 token 响应的范围部分,它不包含类似于 Sync API (/v1/reporting/transactions) 的指定路径的路径。不过,这只是一个观察结果,我不确定这是否相关。

我通读了整个 Sync API 指南和文档大约五遍,并且在 Google 和 StackOverflow 上进行了相当彻底的搜索。我看到 evidence有些人已经过了与 Sync API 的初始连接,所以我相当确定这个 API 可以正常工作。

有人可以帮助我了解我遗漏了什么吗?可能只是我需要等待一两天让他们的系统 catch 来吗? PayPal 的开发者文档对用户来说不是很友好,而且他们的开发者仪表板非常有问题。

最佳答案

我遇到了同样的问题。在 URL 周围加上双引号为我解决了这个问题。其他 API 端点(身份验证、授权/xyz)可以工作,因为它们中没有任何特殊的 URL 字符。在事务搜索中,查询字符串定界符被 Bash 解析。

你上面的 curl 线变成了:

curl -v -X GET "https://api.sandbox.paypal.com/v1/reporting/transactions?transaction_id=5TY05013RG002845M&fields=all&page_size=100&page=1" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <my-access-token>"

希望对某人有所帮助。

关于paypal - 由于授权失败,无法调用 PayPal Sync API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49641964/

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