gpt4 book ai didi

asp.net-core - PayPal交易搜索API : PERMISSION_DENIED,所请求的操作无权限

转载 作者:行者123 更新时间:2023-12-03 16:11:34 27 4
gpt4 key购买 nike

我正在编写一项服务(在.NET Core 3.1和Refit中,如果有关系的话),该服务将从给定日期范围内我的PayPal商业帐户中提取交易事件,以在管理仪表板上使用。目前,我在这里关注本教程:

https://developer.paypal.com/docs/api/get-an-access-token-postman/

和这里:

https://developer.paypal.com/docs/api/transaction-search/v1/

第一部分,我可以获得一个很好的授权 key (使用curl或postman,在下面 curl

curl --location --request POST 'https://api.paypal.com/v1/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic <my client id>:<my secret>' \
--header 'Content-Type: application/x-www-form-urlencoded' \

// not sure what this is, postman specific maybe?
--header 'Cookie: tsrce=devdiscoverynodeweb; ts=vr%3D0cee9361171ac120001362adffec14c3%26vreXpYrS%3D1679730671%26vteXpYrS%3D1585061694%26vt%3D0cee9390171ac120001362adffec14c2' \
--data-urlencode 'grant_type=client_credentials'

这给了我 postman 和自定义服务中的身份验证 token 都很好。接下来,当我尝试进行事务处理(在Postman和代码中)时,出现错误

curl :
curl --location --request GET 'https://api.paypal.com/v1/reporting/transactions?start_date=2020-03-01T00:00:00Z&end_date=2020-03-31T23:59:59Z' \
--header 'Authorization: Bearer <my token>' \
// Postman???
--header 'Cookie: tsrce=devdiscoverynodeweb; ts=vr%3D0cee9361171ac120001362adffec14c3%26vreXpYrS%3D1679730671%26vteXpYrS%3D1585061694%26vt%3D0cee9390171ac120001362adffec14c2'

错误:
{
"localizedMessage": "No permission for the requested operation. ",
"suppressed": [],
"name": "PERMISSION_DENIED",
"message": "No permission for the requested operation. ",
"details": [
{
"field": null,
"value": null,
"location": null,
"issue": "No permission for the requested operation. "
}
],
"information_link": "https://developer.paypal.com/docs/classic/products/permissions/",
"debug_id": "7e315038e8073"
}

错误中的信息链接开始谈论第三方权限,我不确定该权限是否适用,因为它是我的企业帐户。有人有主意吗?我在 Paypal (PayPal)的应用程序上检查了交易历史记录,因此迷路了。

提前致谢

最佳答案

您需要范围https://uri.paypal.com/services/reporting/search/read ..如果oauth2响应中没有该范围,请仔细检查您的REST App的权限。
刷新访问 token
现有访问 token 会缓存9个小时-因此,如果您已经请求了API token ,然后刚刚将此权限添加到您的应用中,则该权限的新作用域最多可能需要9个小时才能反射(reflect)到下一代 token 的生成中。
为了避免等待9个小时,您可以使用以下方法终止现有的缓存 token :

curl -X POST https://api.sandbox.paypal.com/v1/oauth2/token/terminate \
-d "token=REPLACE_WITH_YOUR_TOKEN"
然后,您下次调用 token 的操作将获得一个新生成的 token ,包括刚刚添加到REST应用程序中的新作用域。

关于asp.net-core - PayPal交易搜索API : PERMISSION_DENIED,所请求的操作无权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60841785/

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