gpt4 book ai didi

asp.net-core - dotnet core paypal GetAccessToken 实时返回 401,但适用于沙箱

转载 作者:太空宇宙 更新时间:2023-11-03 15:52:58 25 4
gpt4 key购买 nike

尝试在 asp.net 核心网站上使用 paypal,但我无法获得访问 token ,我不断收到 PayPal.HttpException:远程服务器返回错误:(401) 未经授权。

这是有问题的代码部分:

        Dictionary<string, string> configurationMap = new Dictionary<string, string>();
configurationMap.Add("clientId", _options.PayPalClientId);
configurationMap.Add("clientSecret", _options.PayPalClientSecret);
configurationMap.Add("mode", _options.PayPalMode);

_logger.Info($"paypal data: mode={_options.PayPalMode}, client id={_options.PayPalClientId}");
var accessToken = new OAuthTokenCredential(_options.PayPalClientId, _options.PayPalClientSecret, configurationMap).GetAccessToken();
var apiContext = new APIContext(accessToken) { Config = configurationMap };

我使用的 nuget 包是:

<PackageReference Include="PayPal" Version="2.0.0-rc2"/>
<PackageReference Include="PayPalCore" Version="1.0.0"/>

查看日志以确保 mode=live 和 clientId 是实时的(所以我确定 secret 也已正确加载)。

此代码在我的工作站和我的开发服务器(运行 IIS 和 kestrel)上运行良好,使用沙箱 clientId/secret。然而,在 AWS 的生产服务器上,我收到了这个错误。在 AWS Windows 服务器上运行 postman 以确保它可以与 paypal 的 api 进行通信,我可以获得访问 token ,所以这不是防火墙问题。

还有其他线索吗?

最佳答案

对于任何遇到相同问题,或想知道将哪个 paypal sdk 用于 dotnet 核心应用程序的人,这可以解决问题:

<PackageReference Include="PayPal.SDK.NETCore" Version="1.9.1.2" />

关于asp.net-core - dotnet core paypal GetAccessToken 实时返回 401,但适用于沙箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50745827/

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