Итак, у меня есть этот код
Мой вопрос: как настроить UserCredential, если я уже прошел аутентификацию через OAuth?Как создать экземпляр UserCredential, если у меня уже есть значение Access Token?
Текущий сценарий - это код, отображающий другую страницу входа в систему, перенаправляемую в google. Поскольку я уже аутентифицирован через OAuth, используя asp.net MVC, и у меня уже есть токен, как я могу избавиться от 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<Person>();
Я просто новичок в таких вещах.
Просто следить за вопрос @Nkosi том, как установить токен обновления в UserCredential? credential.Token.RefreshToken = "[your_access_token_here]", это правильный путь? Потому что я продолжал получать «токен доступа истек, но мы не можем его обновить». –
@PrinceJea. проверьте обновление – Nkosi
@PrinceJea. Вы добавляете токен обновления при создании «TokenResponse». GoogleAuthorizationCodeFlow получит новый токен доступа на основе токенов обновления и клиентских секретов. – Nkosi