Я пытаюсь получить доступ к своему личному OneDrive для чтения файла json через приложение WPF. Когда я достигаю AuthenticateUserAsyn c, появляется всплывающее окно учетной записи MS для входа в систему, но оно белого цвета и загружается. Это исходный код
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private async Task<OneDriveClient> GetAuth(MsaAuthenticationProvider msaAuthenticationProvider)
{
await msaAuthenticationProvider.AuthenticateUserAsync();
OneDriveClient oneDriveClient = new OneDriveClient("https://api.onedrive.com/v1.0", msaAuthenticationProvider);
return oneDriveClient;
}
private async Task<dynamic> GetItem(OneDriveClient oneDriveClient)
{
dynamic result = await oneDriveClient
.Drive
.Root
.ItemWithPath("test.json")
.Request()
.GetAsync();
return result;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
string[] scopes = new string[] {
"onedrive.readwrite",
"wl.signin"
};
var msaAuthenticationProvider = new MsaAuthenticationProvider(
Constant.APPLICATION_ID,
"https://login.live.com/oauth20_desktop.srf",
scopes
);
var task = GetAuth(msaAuthenticationProvider);
var result = task.Result;
var task2 = GetItem(result);
var result2 = task2.Result(result);
}
}
Код такой ужасный, я знаю ... Что не так? Я перемещаю AuthenticateUserAsyn c в кнопку, думая, что что-то пошло не так во время цикла загрузки WPF.