0
votes

Microsoft Graph - Graphserviceclient Erreur

J'essaie d'obtenir un membre des utilisateurs de Azure AD à l'aide de l'API de Microsoft Graph. J'ai le code suivant ... xxx

Lorsque la dernière ligne est exécutée, j'obtiens l'erreur suivante: xxx

toute aide serait Beaucoup apprécié!


1 commentaires

Avez-vous la solution ?.


4 Réponses :


0
votes

S'il vous plaît essayez d'utiliser xxx

pour obtenir le membre de résultat.

Voici mon code de test, je peux obtenir le résultat avec succès. xxx

 Entrez la description de l'image ici


7 commentaires

Cela n'a pas résolu le problème. Je reçois toujours la même erreur.


@Alexg Pouvez-vous m'appeler.Request ()? Ou vous pouvez essayer mon code de test.


Je ne suis pas capable de trouver InteractiveaThenticanticationProvider. De quelle bibliothèque viennent-il?


Oh et ça se passe bien avec moi.Request ()


@Alexg microsoft.graph.auth


Microsoft.GRraph.Auth n'existe pas. J'utilise microsoft.graph 3.8.0 de Nuget.


@Alexg Il est dans PRERRELASE, vous devez vérifier «Inclure la préelease» lors de la recherche du paquet



0
votes

Pas vraiment une réponse complète, mais ... J'ai eu le même problème et c'est autour de System.net.http

J'ai eu une webapp de travail (.NET FW 4.7.2) dans mon développement, mais cela ne fonctionnerait pas dans Prod (une machine virtuelle nouvelle à Azure) - Exactement cette exception. P>

Par un processus d'élimination, je dois rediriger System.net.http de 4.2 à 4.0 P>

    <dependentAssembly>
        <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.0.0.0" />
    </dependentAssembly> 


0 commentaires

0
votes

OK Voici ce que j'ai fait pour résoudre le problème sans utiliser les attributs .ME.

private static async Task<string> GetAppTokenAsync(string tenantId)
        {
            var authenticationContext = new AuthenticationContext(string.Format(Settings.AzureADAuthenticationSettings.AuthorityUrl, tenantId), false);
            var clientCred = new ClientCredential(Settings.AzureADAuthenticationSettings.ClientId, Settings.AzureADAuthenticationSettings.ApplicationKey);
            var authenticationResult = await authenticationContext.AcquireTokenAsync(string.Format(Settings.AzureADAuthenticationSettings.GraphUrl, ""), clientCred);

            return authenticationResult.AccessToken;
        }


0 commentaires

0
votes
var code = ValidationHelper.GetString(context.Request.Params["code"], string.Empty);
            var app = ConfidentialClientApplicationBuilder.Create(Settings.AzureADAuthenticationSettings.ClientId)
                .WithAuthority(string.Format(Settings.AzureADAuthenticationSettings.AuthorityUrl, Settings.AzureADAuthenticationSettings.TenantId))
                .WithClientSecret(Settings.AzureADAuthenticationSettings.ApplicationKey)
                .WithRedirectUri("http://localhost/AzureADAuthentication.axd").Build();
            var scopes = new[] { "User.Read", "Group.Read.All" };
            var result = await app.AcquireTokenByAuthorizationCode(scopes, code).ExecuteAsync();
            var adClient = new GraphServiceClient($"{Settings.AzureADAuthenticationSettings.GraphUrl}/v1.0/",
                new DelegateAuthenticationProvider(async requestMessage =>
                {
                    var token = result.AccessToken;
                    requestMessage.Headers.Authorization = new
                        AuthenticationHeaderValue("bearer", token);
                }));
            var adUser = await adClient.Me.Request().GetAsync();
            var memberOf = await adClient.Me.MemberOf.Request().GetAsync();

2 commentaires

Cela vous dérangerait-il d'ajouter une description à cette réponse pour expliquer ce qui rend cette réponse mieux que les autres?


Fondamentalement, le support Microsoft a déclaré que cela utilise MSAL (client le plus récent) au lieu de Adal, ce que j'avais dans mon premier commentaire. De ma compréhension, la manière adal sera obsolète dans un proche avenir. Voici un lien pour la migration de Adal à Msal