Я учусь использовать API Календаря Google, который, в свою очередь, требует, чтобы я узнал, как использовать DotNetOpenAuth для доступа к учетной записи Google.Я заставил работать предоставленные примеры и написал рабочий код в консольной программе для доступа к календарю и манипулирования им.
Теперь я хочу написать приложение Windows Form (в C # или VB), чтобы сделать то же самое.,Я не могу заставить процесс OAuth2 работать в приложении с графическим интерфейсом.Он компилируется и запускается, но не работает.Основываясь на том, что я видел до сих пор, я пришел к выводу, что функция GetAuthorization () не вызывается.
Я попытался запустить процесс с помощью нажатия кнопки, конструктора и формы Loader.метод.Я пробовал как в C #, так и в VB.
public GoogleCal()
{
InitializeComponent();
var provider = new NativeApplicationClient(
GoogleAuthenticationServer.Description);
provider.ClientIdentifier = "xxxxx.apps.googleusercontent.com";
provider.ClientSecret = "yyyyy";
var auth = new OAuth2Authenticator<NativeApplicationClient>(
provider, GetAuthorization);
}
private IAuthorizationState GetAuthorization(NativeApplicationClient arg)
{
// Get the auth URL:
IAuthorizationState state = new AuthorizationState(new[] {
CalendarService.Scopes.Calendar.GetStringValue() });
state.Callback = new Uri(NativeApplicationClient.OutOfBandCallbackUrl);
Uri authUri = arg.RequestUserAuthorization(state);
// Request authorization from the user (by opening a browser window):
Process.Start(authUri.ToString());
authCodeText = Microsoft.VisualBasic.Interaction.InputBox(
"Paste code:", "title", "");
// Retrieve the access token by using the authorization code:
return arg.ProcessUserAuthorization(authCodeText, state);
}
Я явно что-то делаю не так, но не могу понять, что это.Есть идеи?