如果我已经拥有Access Token的值,如何创建UserCredential的实例?

所以我有这个代码
我的问题是如果我已经通过OAuthvalidation了如何配置UserCredential

当前场景是代码将显示另一个重定向到谷歌的登录页面。 由于我已经使用asp.net MVC通过OAuth进行了身份validation,并且我已经拥有令牌如何摆脱GoogleWebAuthorizationBroker并直接传递令牌?

string[] scopes = new string[] {PlusService.Scope.PlusLogin, PlusService.Scope.UserinfoEmail, PlusService.Scope.UserinfoProfile}; UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets { ClientId = "xxx.apps.googleusercontent.com", ClientSecret = "xxxx" }, scopes, Environment.UserName, CancellationToken.None, new FileDataStore("Store")).Result; PlusService service = new PlusService(new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = "ArcaneChatV2", }); PeopleResource.ListRequest listPeople = service.People.List("me", PeopleResource.ListRequest.CollectionEnum.Visible); listPeople.MaxResults = 10; PeopleFeed peopleFeed = listPeople.Execute(); var people = new List(); 

我对这种东西不熟悉。

假设您已经拥有令牌,则可以执行以下操作

 string[] scopes = new string[] { PlusService.Scope.PlusLogin, PlusService.Scope.UserinfoEmail, PlusService.Scope.UserinfoProfile }; var flow = new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer { ClientSecrets = new ClientSecrets { ClientId = "xxx.apps.googleusercontent.com", ClientSecret = "xxxx" }, Scopes = scopes, DataStore = new FileDataStore("Store") }); var token = new TokenResponse { AccessToken = "[your_access_token_here]", RefreshToken = "[your_refresh_token_here]" }; var credential = new UserCredential(flow, Environment.UserName, token); 

然后,您可以将凭据传递给服务的初始化程序

参考Google API客户端库> .NET> OAuth 2.0