【发布时间】:2017-05-16 03:00:28
【问题描述】:
我使用 GoogleWebAuthorizationBroker 类形式的 .Net 客户端库,它将访问令牌和刷新令牌存储在文件存储中,如下所示:
UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
new ClientSecrets { ClientId = clientId, ClientSecret = clientSecret },
scopes, "XXXXXX", CancellationToken.None
,new FileDataStore("XXXXXX")
).Result;
如果有效,但一小时后,当访问令牌无效时,再次启动 AuthorizeAsync 时,“凭据”对象中返回的访问令牌不会更新,因为它应该是(我检查了调试中的值模式和访问令牌仍然相同,未更新)。甚至浏览器也不会启动请求用户授予权限(我将其用于 Google 联系人 API)。
我使用带有 .Net google 客户端库的 OAuth2 进行身份验证,因为它比使用 gdata 库进行身份验证要简单得多。 尽管如此,我还是使用旧的 gdata 库来更新 gmail 联系人(新的联系人 API 不允许 YET 联系人数据修改)。
混合使用这些 API 有问题吗?我应该使用 gdata 库进行身份验证吗?
谢谢。
【问题讨论】:
标签: .net google-api google-oauth gdata google-api-dotnet-client