1

MSAL トークンを使用して OneDrive に接続しようとしていますが、error="invalid_token", error_description="Auth error" が返されます

これは私のコードです:

    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();

私が間違っていることを知っている人はいますか?

4

2 に答える 2

1

Direct API エンドポイント (api.onedrive.com) は、MSAL から生成されたアクセス トークンをサポートしておらず、MSA から生成されたトークンのみをサポートしています。MSAL を使用している場合は、Microsoft Graph API (graph.microsoft.com) を使用して、個人ユーザーとビジネス ユーザーの両方が OneDrive ファイルにアクセスする必要があります。

于 2016-07-26T20:16:25.190 に答える
0

ずっと前に回答を得ましたが、このリンクが将来他の誰かに役立つことを願っています. https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/onedrive

于 2018-01-22T22:30:25.690 に答える