2017-10-04 4 views
1

Je tente d'essayer la nouvelle API CRM Administrateur situé ici: https://admin.services.crm.dynamics.com/swagger/ui/index, mais chaque fois que je tente de lancer un appel, le message de réponse est la même:Test CRM API d'administration Swagger Interface

" Message ":" L'autorisation a été refusée pour cette demande. "

Qu'est-ce qui me manque? Je suppose que quel que soit l'utilisateur avec lequel je suis connecté à CRM avec Chrome, ce sera le contexte dans lequel les appels d'administration seront effectués, mais peut-être que je me trompe?

+0

Il y a une entrée avec un espace réservé 'api_key' ... vous pouvez y entrer votre clé api puis cliquez sur le bouton explorer ... maintenant lorsque vous cliquez sur le bouton' Try it out', vous devriez obtenir le bonne réponse. – Hackerman

+0

Très bien @Hackerman Je ne peux pas croire que j'ai manqué ce champ simple ... Auriez-vous des indices sur la façon dont je déterminerais cette API_Key? – Daryl

+0

Vous pouvez commencer avec le guide suivant https://docs.microsoft.com/fr-fr/dynamics365/customer-engagement/developer/online-management-api/get-started-online-management-api – Hackerman

Répondre

1

L'API swagger ne peut pas être utilisée pour tester les services. Pour pouvoir envoyer et récupérer des données à l'aide de la nouvelle API de gestion, vous devez obtenir un jeton OAuth2.0 valide (voir les deux premières phrases in the auth docs) pour un utilisateur disposant du rôle Administrateur Dynamics ou Global Admin dans O365 (voir la première partie à propos des rôles d'administrateur in the docs). Lorsque vous vous connectez via le navigateur, vous obtenez uniquement un cookie représentant votre session de connexion, et non un jeton OAuth. Auth0 has a very good article sur la différence entre l'authentification par cookie et par jeton, mais dans ce cas, la partie pertinente est qu'ils ne sont pas identiques, et vous devez donc obtenir un jeton OAuth2.0 explicitement.

Ce que Microsoft a inclus dans son API swagger est un champ pour une clé API. Une clé API peut être générée à partir d'un enregistrement d'application Azure AD (pour plus d'informations sur la génération de clés, reportez-vous à la section in the AAD docs). Malheureusement, comme je l'ai indiqué ci-dessus, l'API de gestion MSDYN365 nécessite que le client authentifié ait au moins le rôle d'administrateur de service pour Dynamics. Ces rôles sont des rôles d'utilisateur et ne peuvent pas être délégués à un enregistrement d'application AAD, vous pouvez uniquement utiliser des rôles d'application pour eux. Cela signifie que vous êtes entre une roche et un endroit difficile que vous n'êtes pas autorisé à utiliser, de sorte que la seule chose que vous pouvez utiliser la définition est de simplifier l'intégration avec vos propres applications.