2017-02-24 2 views
1

J'essaie d'accéder à mes clients (plus tard aussi OneDrive Business, mais pour le début seulement régulier) OneDrive fichiers. J'ai commencé avec le point de terminaison azuread, car il peut être utilisé avec des comptes publicitaires et Hotmail/live. J'ai enregistré une application avec mon compte Microsoft live (pas business) et j'ai tout configuré en utilisant Django et social-auth. La connexion fonctionne, je l'ai essayé avec le même compte en direct et j'ai obtenu un jeton d'accès en authentification sociale. Lorsque j'essaie d'accéder aux fichiers en utilisant le facteur et le jeton, j'obtiens l'erreur suivante: Echec de l'analyse CompactToken En réponse. Donc, je suis complètement confus à propos de l'utilisation de l'API graphique Microsoft pour accéder aux fichiers OneDrive des clients. Est-ce le bon point de terminaison ou ne devrais-je pas utiliser azuread mais vivre à la place? Ai-je besoin d'un compte professionnel pour l'enregistrement de l'application? Quelle serait la bonne façon de le faire fonctionner? L'architecture de l'API Microsoft est très complexe. Probablement, il a ses avantages, mais après je le saisis. Merci d'avance Si vous avez besoin de plus d'informations, faites le moi savoirAccès aux fichiers professionnels OneDrive et OneDrive des clients

Répondre

1

Vous êtes sur la bonne voie, mais il est possible que vous envoyiez votre jeton au mauvais point final. Comme votre jeton a été créé pour MS Graph, assurez-vous de l'avoir envoyé au point de terminaison OneDrive de MS Graph. Les documents sont here.

Maintenant, en termes de différence entre Azure AD et MSA (Microsoft Live Accounts), il existe quelques différences clés. Fondamentalement, ce sont deux identités différentes qu'un utilisateur peut avoir. Il existe un nouveau point de terminaison convergé appelé Azure AD v2.0 qui prend en charge AAD + MSA. Pour un exemple de code, consultez this link.

+0

Vous aviez presque raison, je l'envoyais à la droite OneDrive Endpoint, mais le Token que j'avais provient du mauvais point de terminaison. A dû définir SOCIAL_AUTH_AZUREAD_OAUTH2_RESOURCE = 'https://graph.microsoft.com/' dans les paramètres pour utiliser le bon – user3125470