我目前正在考虑将 Dropbox 添加到我的 c# 软件中。我正在spring.social
使用https://github.com/SpringSource/spring-net-social-dropbox。
我有以下代码来进行身份验证
private void authenticateDropbox()
{
try
{
DropboxServiceProvider dropboxServiceProvider = new DropboxServiceProvider(dropboxAppKey, dropboxAppSecret, AccessLevel.AppFolder);
//lblStatus.Content = "Getting request Token";
OAuthToken oauthToken = dropboxServiceProvider.OAuthOperations.FetchRequestTokenAsync(null, null).Result;
//lblStatus.Content = "Request token retrieved";
OAuth1Parameters parameters = new OAuth1Parameters();
string authenticateUrl = dropboxServiceProvider.OAuthOperations.BuildAuthorizeUrl(oauthToken.Value, parameters);
//lblStatus.Content = "Redirecting user for authentication";
Process.Start(authenticateUrl);
}
catch (AggregateException ex)
{
MessageBox.Show("AggregateException: Failed to authenticate\n\n" + ex.Message, "Authentication Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
catch (Exception ex)
{
MessageBox.Show("General Exception: Failed to authenticate\n\n" + ex.Message, "Authentication Error", MessageBoxButton.OK, MessageBoxImage.Error);
}
我成功加载了我的默认浏览器,我可以允许该应用程序并获得成功页面。同样,在它完成该Process.start()
方法后,它要求用户在显示成功页面后按 Enter 继续,但是,我在 wpf 应用程序中执行此操作,我真的不想要求用户在浏览器授权后,按一个按钮使我的程序继续运行。
我在FetchRequestTokenAsync
函数中看到有一个回调参数,但我不确定如何执行此操作,或者即使这是我想要的。
基本上我想要的是当浏览器说授权成功时它会关闭浏览器并且 C# 拾取它已成功授权然后继续。
感谢您的任何帮助,您可以提供。