Один логин Google для веб-страницы и API OAuth2 в C # - PullRequest
0 голосов
/ 24 октября 2018

Я реализую приложение C # WPF, в котором я размещаю веб-браузер CefSharp с открытым Календарем Google.Также я хочу добавить события в календарь с использованием Google Calendar API.Мне нужна какая-то общая точка входа для обоих:

  • вход на веб-страницу Календаря Google
  • получение токена пользователя для использования API

Есть ли возможностьсделать это?Я боюсь, что потребуется двойная аутентификация, которая сделает мое приложение менее удобным для пользователя.Вот как я это делаю сейчас:

  1. Создание доступа к API Google
using (var stream = new FileStream("credentials.json", FileMode.Open, FileAccess.Read))
{
    string credPath = "token.json";
    Credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
                    GoogleClientSecrets.Load(stream).Secrets,
                    Scopes,
                    "user",
                    CancellationToken.None,
                    new FileDataStore(credPath, true)).Result;
}

// Create Google Calendar API service.
Service = new CalendarService(new BaseClientService.Initializer()
{
    HttpClientInitializer = Credential,
    ApplicationName = ApplicationName
});
Открытие веб-страницы Календаря Google с помощью CefSharp
<cefSharp:ChromiumWebBrowser Address="https://calendar.google.com/calendar/r"/>
...