2016-07-26 33 views
1

Ich versuche zu Microsoft Onedrive mit MSAL Token zu verbinden, aber es liefert Fehler = "invalid_token", ERROR_DESCRIPTION = "Auth Fehler"Wie verbinde ich mich mit MSAL auf Onedrive?

Das ist mein Code:

public static string[] Scopes = { "User.Read", "Files.Read", "Sites.Read.All" }; 
    AuthenticationResult ar = await App.ClientApplication.AcquireTokenSilentAsync(Scopes); 
    WelcomeText.Text = $"Welcome {ar.User.Name}"; //Login OK here 

     //get data from API 
     HttpClient client = new HttpClient(); 
     HttpRequestMessage message = new HttpRequestMessage(HttpMethod.Get, "https://api.onedrive.com/v1.0/drives"); 
     message.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", ar.Token); 
     HttpResponseMessage response = await client.SendAsync(message); 
     string responseString = await response.Content.ReadAsStringAsync(); 

Wer weiß, was ich bin falsch machen?

Antwort

1

Der direkte API-Endpunkt (api.onedrive.com) unterstützt keine von MSAL generierten Zugriffstoken, sondern nur Token, die von MSA generiert wurden. Wenn Sie MSAL verwenden, sollten Sie die (graph.microsoft.com) verwenden, um auf OneDrive-Dateien für private und geschäftliche Benutzer zuzugreifen.

+0

Es funktioniert! Vielen Dank! – transis