現在、ドロップボックスを c# ソフトウェアに追加することを検討しています。https://github.com/SpringSource/spring-net-social-dropboxspring.social
から使用しています。
認証を行うための次のコードがあります
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#が認証に成功したことを認識して続行することです。
ご協力いただきありがとうございます。