2016-12-08 1 views
0

Le code:API error onedrive après MS a fait la mise à jour onedrive hier soir

var stream=await this.oneDriveClient.Drive.Items[itemid].Content.Request().GetAsync(); 

a fonctionné bien pendant des semaines, mais a cessé de fonctionner après la mise à jour onedrive la nuit dernière. Il lance exception "Microsoft.Graph.ServiceException" lorsque nous essayons de télécharger des fichiers en utilisant l'API, les téléchargements de fichiers fonctionnent toujours. Nous obtenons également le code d'erreur "ItemNotFound".

Voici le message d'exception et la trace de la pile.

ex.Message: Exception of type 'Microsoft.Graph.ServiceException' was thrown. 
ex.StackTrace: 
    at Microsoft.Graph.HttpProvider.<SendAsync>d__19.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult() 
    at Microsoft.Graph.BaseRequest.<SendRequestAsync>d__34.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult() 
    at Microsoft.Graph.BaseRequest.<SendStreamRequestAsync>d__33.MoveNext() 
-- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at TMSPro.Shared_Objects.ucOneDriveBrowser.<btnDownload_Click>d__5f.MoveNext() in c:\Working\TMSPro_VS2012\TMSPro\Shared_Objects\ucOneDriveBrowser.cs:line 1083 
+0

Pouvez-vous utiliser Fiddler (ou quelque chose d'équivalent) pour récupérer les appels en cours au service? Nous devons voir quelle réponse est retournée pour aider. – Brad

+0

détails d'exception? Microsoft Graph est un peu comme un wrapper d'accès API pour obtenir des API Web Microsoft. Des exceptions comme 'ServiceException' ont généralement les détails exacts de ce qui s'est mal passé (généralement les erreurs d'accès/connexion). Sans ce détail, nous ne ferions que deviner. –

Répondre

0

Je rencontre exactement le même problème. Lorsque vous vérifiez Fiddler, il semble que la réponse qui est retournée est une page Web avec le message: "Désolé, quelque chose s'est mal passé Désolé, vous ne pouvez pas accéder à ce document ... Correlation ID: 072abf9d-7097-3000-a357-3f21c379dac7 .. . " Le Microsoft.Graph.ServiceException a un code d'erreur: ItemNotFound.

Cela a fonctionné pendant des siècles, et maintenant soudainement cessé de fonctionner.

+0

Un petit ajout: dans mon scénario, j'utilise le OneDriveSdk pour télécharger et télécharger des fichiers depuis Sharepoint Online – gsharp

+0

Quel SDK utilisez-vous? Nous utilisons le SDK C# /. Net. – Burnsy

1

Le problème est lié à l'authentification. Ce code semble le réparer:

var adalAuthProvider = new AdalAuthenticationProvider(
        this.AadClientId, 
        this.AadReturnUrl); 

      this.oneDriveClient = new OneDriveClient(this.AadTargetUrl + "/_api/v2.0", adalAuthProvider, new HttpProvider(new HttpClientHandler { AllowAutoRedirect = true }, true)); 
      authTask = adalAuthProvider.AuthenticateUserAsync(this.AadTargetUrl); 

      try 
      { 
       await authTask; 
      } 
0

Cela a été un problème dans le service OneDrive Entreprise qui a depuis été résolu. Nous nous excusons pour la gêne occasionnée et avons pris des mesures pour minimiser les risques de défaillances similaires à l'avenir.