2
votes

Accéder à l'API OneDrive personnelle avec client_credentials

Pour un projet, je dois afficher certains fichiers stockés sur un OneDrive personnel.

Je ne peux pas utiliser une authentification OAuth2 classique, je dois m'authentifier en tant qu'application et non en tant qu'utilisateur, comme expliqué sur cette page: https://docs.microsoft.com/en-us/graph/auth-v2-service

Mais adminConsent semble être uniquement pour les abonnements entreprise. Existe-t-il un moyen de le faire avec un OneDrive personnel?


0 commentaires

3 Réponses :


0
votes

J'essaye en vain de déclarer une application SharePoint dans mon OneDrive personnel, mais cela semble être une fonctionnalité d'entreprise.

Avez-vous essayé de générer un lien pour intégrer votre dossier? Vous pouvez le faire avec l'icône dans le menu de navigation lorsque vous sélectionnez un dossier OneDrive.

Je ne vois aucune solution pour partager votre fichier en déclarant une application, je suppose que cela est limité dans Personal OneDrive. Je l'ai essayé dans l'entreprise One Drive et il semble que je puisse déclarer une application en utilisant le lien maginc

/_layouts/15/appregnew.aspx

J'espère que vous trouverez une solution

p >


2 commentaires

l'icône ressemble à ""


En effet, je peux intégrer n'importe quel dossier. Thx btw, je ne connaissais pas cette fonctionnalité ... Mais je souhaite une intégration personnelle et transparente de ces fichiers sur mon site. Et je ne veux pas que les gens soient redirigés sur l'interface OneDrive ...



0
votes

Je trouve enfin une solution avec l ' authentification du flux de code et la portée hors connexion_access . Avec cette méthode, un administrateur doit se connecter une fois pour obtenir un jeton d'actualisation qui peut être utilisé ensuite pour obtenir un jeton d'accès à tout moment.

https://docs.microsoft.com/en-us/onedrive/developer/rest-api/getting-started/msa-oauth?view=odsp-graph-online#code-flow


0 commentaires

0
votes

J'ai trouvé une solution différente qui ne semble pas être la même que la vôtre mais qui peut être utile. Si vous suivez la documentation sur la création d'une application démon, vous pouvez créer un jeton d'accès à condition que vous disposiez des éléments suivants:

  • votre numéro client
  • votre secret client
  • le nom de votre locataire

Voir ce lien pour plus d'informations sur les applications démon. Il existe également des exemples sur cette page pour savoir comment faire la demande. De cette page, voici le corps de la requête HTTP.

{
    "token_type": "Bearer",
    "expires_in": 3599,
    "ext_expires_in": 3599,
    "access_token": "ACCESS_TOKEN"
}

Vous obtiendrez une réponse comme celle-ci. Vous pouvez ensuite utiliser le access_token pour effectuer des requêtes API.

POST /{tenant}/oauth2/v2.0/token HTTP/1.1           //Line breaks for clarity.
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=535fb089-9ff3-47b6-9bfb-4f1264799865
&scope=https%3A%2F%2Fgraph.microsoft.com%2F.default
&client_secret=qWgdYAmab0YSkuL1qKv5bPX
&grant_type=client_credentials

Vous pouvez trouver un code Python exemple ici .


0 commentaires