Xero请求访问令牌正在超时

问题描述

我正在尝试使用Xero的最新OAuth 2.0协议设置旧的ASP.NET MVC应用程序。根据文档,我使用的是官方的Xero-NetStandard library

我可以成功地将用户重定向到Xero的同意页面,并且还可以按预期的那样使用有效的代码重定向回localhost。但是,当我尝试检索访问令牌时会出现问题。

var xeroToken = _xeroClient.RequestAccesstokenAsync( code ).Result;

在我的本地主机环境上执行此代码时,似乎很少发生。该请求只是卡住了,不会继续到此为止。我看到的唯一偶尔的错误是几分钟后的“请求超时”。

请理解,我已经查看了所有可以找到的参考资料和示例,但是其中大多数都具有特定的Dotnet Core内容,或者已经完全过时了(自创建以来,Xero客户端似乎已经发生了很大变化) 5个月前)。

也许我快要疯了,但是几个月前我开始进行新的Xero集成工作时,这按预期工作了,但现在我不知道出什么问题了。

解决方法

该函数似乎需要以异步方式调用:

await client.RequestAccessTokenAsync(code);

https://github.com/XeroAPI/Xero-NetStandard/blob/df9051feee2b49c0cdd3253bb6acafc4491869b5/Xero.NetStandard.OAuth2Client/src/Client/XeroClient.cs#L132