Я использую API-интерфейс Google Drive в приложении Windows.
когда пользователь нажимает кнопку нажмите здесь, чтобы войти в систему с другой учетной записью перейти на страницу входа.
См. Изображения ниже
Страница результатов после аутентификации
после нажатия на «нажмите здесь, чтобы войти в систему с другой учетной записью», страница выглядит как ниже
Для приведенной выше страницы я использую 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);
}
}
}
Заранее спасибо.