私は、Windows ストア アプリを作成する高校のクラブに所属しています。私は、ユーザーがオンラインの onedrive ストレージからファイルをダウンロードしたり、ファイルをアップロードしたりできるようにするコードを担当しています。これまでのところ、ユーザーのログインに成功し、onedrive にアクセスして、次のコードでユーザー名を表示しています。
private async void LoadProfile()
{
bool connected = false;
string text = "No Error:";
try
{
var authClient = new LiveAuthClient();
LiveLoginResult result = await authClient.LoginAsync(new List<string>() {"wl.signin", "wl.skydrive"});
if (result.Status == LiveConnectSessionStatus.Connected)
{
connected = true;
var connectClient = new LiveConnectClient(result.Session);
var meResult = await connectClient.GetAsync("me");
dynamic meData = meResult.Result;
Textblock_profilename.Text = meData.name;
}
}
catch (LiveAuthException ex)
{
//Set text to corresponding error
text = ex.ToString();
}
catch (LiveConnectException ex)
{
//Set text to corresponding error
text = ex.ToString();
}
if (text[0].ToString() != "N")
{
var dialog = new Windows.UI.Popups.MessageDialog(text);
await dialog.ShowAsync();
}
}
次の MSDN チュートリアルからコードを取得しました: http://msdn.microsoft.com/en-us/library/dn631823.aspx
ただし、次のステップであるファイルのダウンロードとアップロードを実行しようとすると、機能しません。今、ボタンを押して、コードにテスト ファイルをダウンロードさせようとしています。
private async void Button_downloadFile_Click(object sender, RoutedEventArgs e)
{
try
{
LiveDownloadOperation operation = await connectClient.CreateBackgroundDownloadAsync("skydrive/documents/enter_path");
var result = await operation.StartAsync();
//DO SOMETHING WITH RESULT HERE
}
catch
{
// Handle any errors.
}
}
ただし、このコードは次のエラーをスローします。
これは MSDN チュートリアルからそのまま出てきたもので、エラーを修正する方法がわかりません。私の最善の推測は、「使用」ステートメントが欠落していることですが、欠落しているものを理解できません。助けてくれてありがとう!