3
我正在學習如何使用Google Calendar API,這反過來又要求我學習如何使用DotNetOpenAuth訪問Google帳戶。我使提供的示例工作,並在控制檯程序中編寫了工作代碼以訪問和操作日曆。如何爲DotNetOpenAuth編寫VB或C#GUI客戶端?
我現在想寫一個Windows窗體應用程序(在C#或VB)做同樣的事情。我無法使OAuth2進程在GUI應用程序中工作。它編譯並運行,但不起作用。基於迄今爲止我所看到的,我已經得出結論: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);
}
我明顯做錯了什麼,但我無法弄清楚它是什麼。有任何想法嗎?
這是一個類似的問題,但不是我所問的。 (另一方面,它可能儘可能接近我所能得到的......)那裏討論的解決方案似乎只有.asp。我正在尋找只有c#或vb的東西。 – Brian 2012-03-13 22:05:10
ASP是vb或C#你不是在找東西.net只是vb6?或者也許winforms或wpf?沒有足夠的信息來獲取所需的信息 – 2012-03-13 22:45:32
我試圖創建一個Windows窗體應用程序VS 2010. 2010. – Brian 2012-03-14 00:51:13