Google OAuth刷新令牌不适用于.Net库(C#MVC Web App)

Google OAuth刷新令牌不适用于.Net库(C#MVC Web App),c#,google-api,google-api-dotnet-client,C#,Google Api,Google Api Dotnet Client,所以我一直在与谷歌API.net图书馆合作。。我已经让它工作了,并且可以成功地获得访问令牌和刷新令牌,并使用它们来访问GoogleAPI 我在数据库中为用户存储访问令牌和刷新令牌。当我打电话时把它拔出来。在访问令牌到期之前,它可以正常工作 以下是使用数据库中的刷新令牌进行api调用的代码供参考: var t = new TokenResponse { RefreshToken = GoogleOauthTokenService.getRefreshToken(User.I

所以我一直在与谷歌API.net图书馆合作。。我已经让它工作了,并且可以成功地获得访问令牌和刷新令牌,并使用它们来访问GoogleAPI

我在数据库中为用户存储访问令牌和刷新令牌。当我打电话时把它拔出来。在访问令牌到期之前,它可以正常工作

以下是使用数据库中的刷新令牌进行api调用的代码供参考:

            var t = new TokenResponse { RefreshToken = GoogleOauthTokenService.getRefreshToken(User.Identity.Name) };
            var credentials = new UserCredential(new GoogleAuthorizationCodeFlow(
                new GoogleAuthorizationCodeFlow.Initializer
                {
                    ClientSecrets = new ClientSecrets
                    {
                        ClientId = "REDACTED",
                        ClientSecret = "REDACTED"
                    }
                }), User.Identity.Name, t);


            var service = new AnalyticsService(new BaseClientService.Initializer
            {
                HttpClientInitializer = credentials,
                ApplicationName = ""
            });
查看库和Google文档,它应该在过期时自动使用刷新令牌获取另一个访问令牌

在访问令牌最终过期之前,此代码一直工作正常;在这种情况下,它会给出一个错误“无效授权:令牌已过期或吊销”

我做了一些研究,但最常见的问题并不适用,这就是为什么我很困惑为什么这不起作用

  • 刷新令牌被撤销或无效,因为发出的刷新令牌太多(我只获取1个刷新令牌,除非上面对api的调用每次调用都获得一个新的刷新令牌)

  • 时钟时间不同步(已检查,系统时间正在工作并同步)