Google OAuth刷新令牌不适用于.Net库(C#MVC Web App)
所以我一直在与谷歌API.net图书馆合作。。我已经让它工作了,并且可以成功地获得访问令牌和刷新令牌,并使用它们来访问GoogleAPI 我在数据库中为用户存储访问令牌和刷新令牌。当我打电话时把它拔出来。在访问令牌到期之前,它可以正常工作 以下是使用数据库中的刷新令牌进行api调用的代码供参考: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
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的调用每次调用都获得一个新的刷新令牌)
- 时钟时间不同步(已检查,系统时间正在工作并同步)