аутентифицироваться с другим аккаунтом с помощью Google drive Api - PullRequest
0 голосов
/ 02 ноября 2018

Я использую API-интерфейс Google Drive в приложении Windows.

когда пользователь нажимает кнопку нажмите здесь, чтобы войти в систему с другой учетной записью перейти на страницу входа.

См. Изображения ниже

Страница результатов после аутентификации enter image description here

после нажатия на «нажмите здесь, чтобы войти в систему с другой учетной записью», страница выглядит как ниже enter image description here

Для приведенной выше страницы я использую WebBrowser control в xaml.

это перенаправление, но страница отключена, значит, нажатие кнопки мыши не работает на кнопках.

URL и логика oauth

var url = string.Format("https://accounts.google.com/o/oauth2/auth?client_id={0}&redirect_uri={1}&include_granted_scopes=true&state=6a56c58b-4199-4952-a060-320d4573017c&scope={2}&response_type=code&access_type=offline&approval_prompt=force", GoogleDriveConfig.MyClientId, GoogleDriveConfig.MyRedirectUri, "https://www.googleapis.com/auth/drive");
        SourceUrl = new Uri(url);
        var cookie = string.Empty;
        try
        {
            // Get every cookie (Expiration will not be in this response)
            cookie = Application.GetCookie(SourceUrl);
        }
        catch (Win32Exception ex)
        {
            MigrationConfig.Logger.LogException(ex);
            // "no more data is available" ... happens randomly so ignore it.
        }
        if (!string.IsNullOrEmpty(cookie))
        {
            // This may change eventually, but seems quite consistent for google.com.
            // ... they split all values w/ ';' and put everything in foo=bar format.
            string[] values = cookie.Split(';');
            foreach (string s in values)
            {
                if (s.IndexOf('=') > 0)
                {
                    // Sets value to null with expiration date of yesterday.
                    _DeleteSingleCookie(s.Substring(0, s.IndexOf('=')).Trim(), SourceUrl);
                }
            }
        }

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...