2016-11-09 10 views
1

私はXamarinアプリケーションのUWPの一部とOnedrive SDKを統合しています。私は、ダウンロードボタンを押すと、私はOnedriveサインインページを取得しますが、それは、この行で、上記のエラーがスローされます。ここ私はinvalidRequest例外がスローされます:mscorlib.ni.dllの 'Microsoft.Graph.ServiceException'

 try 
    { 
     var appFolder = await OneDriveClient.Drive.Special.AppRoot.Request().GetAsync(); 
     Debug.WriteLine(appFolder.Name); 
    } 
    catch (ServiceException e ) 
    { 
     Debug.WriteLine(e.Message +" " + e.Error.Code); 

    } 

がいっぱい関連するコードです:

 public async Task Download(string filename) 
{ 
    //AccountSelectionLoaded(); 
    await InitializeClient(); 
    try 
    { 
     var appFolder = await OneDriveClient.Drive.Special.AppRoot.Request().GetAsync(); 
     Debug.WriteLine(appFolder.Name); 
    } 
    catch (ServiceException e ) 
    { 
     Debug.WriteLine(e.Message +" " + e.Error.Code); 

    } 

    var file = await OneDriveClient.Drive.Special.AppRoot.Children[filename].Content.Request().GetAsync(); 

    //var fileStream = await fileBuilder.Content.Request().GetAsync(); 

    IStorageFile appFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("test.db3", 
         CreationCollisionOption.OpenIfExists); 
    byte[] fileBytes; 
    using (DataReader reader = new DataReader(file.AsInputStream())) 
     { 
      fileBytes = new byte[file.Length]; 
      await reader.LoadAsync((uint)file.Length); 
      reader.ReadBytes(fileBytes); 
     } 
    Debug.WriteLine(fileBytes.Length); 
    Debug.WriteLine("Writing"); 
    await FileIO.WriteBytesAsync(appFile, fileBytes); 
    Debug.WriteLine("End of writing");  
} 

private async Task InitializeClient() 
{ 
    if (OneDriveClient == null) 
    { 
     Task authTask; 
     var msaAuthProvider = new MsaAuthenticationProvider(oneDriveConsumerClientId,oneDriveConsumerReturnUrl,scopes); 
     await msaAuthProvider.AuthenticateUserAsync(); 
     OneDriveClient = new OneDriveClient(oneDriveConsumerBaseUrl, msaAuthProvider); 

     AuthenticationProvider = msaAuthProvider; 


    } 
} 
+0

私はこれに取り組んでいます –

+0

更新情報?私の答えをチェックしましたか? –

答えて

0

この問題を報告していただきありがとうございます。実際、OneDrive .NET SDK 2.0.4をUWPアプリケーションで使用すると、関連する問題が発生する可能性があります。

この問題は社内で報告します。回避策として

、このブログを参照してください:Windows 10 - Implementing a UWP App with the Official OneDrive SDK

ローランBugnionはUWPアプリでOneDrive機能を有効にする詳細な手順(ともdemo)を説明。その時

private IOneDriveClient _client; 
public MainPage() 
{ 
    InitializeComponent(); 
    AuthenticateButton.Click += async (s, e) => 
    { 
    var scopes = new[] 
    { 
     "onedrive.readwrite", 
     "onedrive.appfolder", 
     "wl.signin" 
    }; 
    _client = OneDriveClientExtensions.GetClientUsingOnlineIdAuthenticator(
     _scopes); 
    var session = await client.AuthenticateAsync(); 
    Debug.WriteLine($"Token: {session.AccessToken}"); 
    }; 
} 

、プロジェクトはまだ今作業 ある1.2.0 SDKを使用しています。

関連する問題