2017-10-18 9 views
0

J'ai une erreur en essayant d'utiliser Microsoft Graph pour écrire un script pour télécharger un fichier Excel sur OneDrive puis lire le fichier Excel.Le locataire n'a pas de licence SPO

J'ai suivi Microsoft documentation pour obtenir le jeton d'accès sans utilisateur. J'ai réussi à obtenir un jeton d'accès, mais j'ai reçu une erreur lors de l'utilisation du jeton d'accès pour appeler l'API OneDrive.

Voici la réponse:

{ 
    "error": { 
     "code": "BadRequest", 
     "message": "Tenant does not have a SPO license.", 
     "innerError": { 
      "request-id": "5ec31d17-3aea-469f-9078-de3608f11d0d", 
      "date": "2017-10-10T04:34:05" 
     } 
    } 
} 

Je ne comprends pas pourquoi je dois avoir la licence SPO tout en appelant l'API graphique et comment l'obtenir. En raison de ce message d'erreur, j'essaie d'acheter une licence SPO.

Selon this document, je pense que je devrais voir de nombreux produits dans les pages de licence, mais tout en vous connectant avec Azure Portal et accédez à la page de licence, je ne vois que deux produits: Azure premium AD et Enterprise Mobility Suite:

screenshot

+0

Hors sujet comme question de licence – bummi

Répondre

0

Répondre à un certain nombre de choses ici.

Contexte: Microsoft Graph est la passerelle développeur ou API pour de nombreux services de cloud computing de Microsoft, comme Office 365, Azure Active Directory, EMS (Enterprise Mobility Suite), Outlook personnel, onedrive personnel et plus. L'utilisation de l'API est gratuite, mais pour accéder aux données qui la sous-tendent, vous devez disposer de ces services - dans certains cas, ils peuvent être gratuits et, dans d'autres cas, vous devrez peut-être les payer.

Comme pour ajoutant Office 365 à votre client existant. Je crois que vous vous êtes inscrit à Azure en utilisant un compte Microsoft. Cela signifie que vous avez déjà un locataire Azure Active Directory. Vous pouvez toujours acheter/acquérir Office 365 pour ce locataire. Tout ce que vous devez faire est de créer un nouvel utilisateur Azure AD (pas un compte Microsoft) dans votre locataire, et en faire un administrateur de l'entreprise. Ensuite, vous devriez être en mesure de vous inscrire à Office 365 - s'il vous demande si vous avez déjà un locataire ou un compte, connectez-vous avec le compte AAD que vous venez de créer.Et le tour est joué, vous devriez avoir un locataire Azure AD avec un abonnement à Azure et maintenant un abonnement à Office 365.

Hope this helps,

+0

Merci beaucoup, @Dan Kershaw - MSFT :). Votre explication m'aide beaucoup. Je vais suivre vos instructions pour obtenir l'abonnement O365 pour mon locataire. En fonction de mes besoins (service à l'appel de service pour télécharger le fichier Excel à Onedrive et utiliser MS Excel API pour le lire), pourriez-vous s'il vous plaît me dire quel produit est approprié pour moi https://products.office.com/fr/compare- tout-microsoft-office-products? tab = 2? –

+0

Chacun d'entre eux travaillera pour vous, car ils comprennent tous le service OneDrive. Office 365 Business Essentials est la solution la moins chère et la mieux adaptée à vos besoins, car elle optimisera davantage les fonctionnalités de Microsoft Graph - si vous souhaitez à l'avenir faire plus que télécharger/manipuler des fichiers Excel dans OneDrive. –

+0

Merci beaucoup, @Dan :). –

0
  1. Êtes-vous en mesure d'accéder au contenu onedrive (y compris le fichier Excel) manuellement via le navigateur après la connexion à votre compte dans le même locataire? Si vous êtes en mesure d'accéder manuellement au lecteur et au fichier, utilisez l'Explorateur de graphes https://developer.microsoft.com/en-us/graph/graph-explorer pour vous connecter en utilisant le même compte et passer l'appel pour obtenir le contenu du lecteur. Lorsque vous vous connectez, vous recevez une page de consentement répertoriant les autorisations requises. Veuillez prendre note de ces autorisations et vérifier si la permission correspond à celles requises pour accéder au disque. Si vous n'avez pas encore la licence SPO appropriée, vous pouvez essayer de configurer un compte d'essai gratuit Office-365 (https://products.office.com/en-in/business/office-365-enterprise-e3-business-software) et tester les API.

+0

1. Je suis en mesure d'accéder à [onedrive site] (https://onedrive.live.com) pour télécharger un fichier Excel puis le lire. 2. Je suis capable d'utiliser Graph Explore pour accéder à [mon répertoire de disque racine] (https://graph.microsoft.com/v1.0/me/drive/root/children) et je peux voir le fichier téléchargé dans la réponse de l'API. Mais je ne pouvais pas lire le fichier par [API Excel] (https://graph.microsoft.com/v1.0/me/drive/items/16FA3ECF60A1FF73!112/workbook/worksheets). J'ai cette erreur: '{" code ":" generalException "," message ":" Exception pendant le traitement "}' ' –

+0

3. Je ne pouvais pas installer Office-365 avec le compte Microsft. Il semble que j'ai besoin d'un compte de travail pour faire ce que vous avez suggéré. Mais si je configure un compte professionnel, comment lier ce compte à mon locataire existant? –

0

deux onedrive pour les entreprises et les API Excel exigent Office 365. En fonction de votre capture d'écran, cela ressemble à une Azure autonome locataire Active Directory (ce ne sont pas liées à O365).

La raison du message de licence SPO est que OneDrive Entreprise est une bibliothèque de documents SharePoint Online spéciale qui est automatiquement configurée pour les utilisateurs.

+0

Nous vous remercions de votre aide. Voulez-vous dire que je serai capable d'utiliser les API OneDrive et Excel si j'achète Office 365? Mon compte Microsoft ne semble pas pouvoir acheter Office 365, il semble seulement disponible pour le compte professionnel. Si je souscris un compte professionnel et que j'achète Office 365, comment puis-je le lier à mon client Azure Active Directory existant? –

+0

Vous pouvez utiliser ces API avec votre compte Microsoft, mais vous devez utiliser [v2 Endpoint] (massivescale.com/microsoft-v2-endpoint-primer/). Ce que vous avez utilisé pour enregistrer votre application (à partir de la capture d'écran) est v1 qui ne prend en charge que les comptes Work/School. –

+0

Merci beaucoup. J'ai lu le message que vous avez envoyé. Cela ne fonctionne pas pour moi parce que ce que j'essaie de faire est "service à appel". Les API seront appelées en arrière-plan sans utilisateur, sans redirection. L'idée est que mon application va générer un rapport (fichier Excel) et que j'ai besoin de le télécharger sur Onedrive et avoir une capacité à lire ce fichier (en utilisant des API). Tout sera téléchargé/stocké sur mon Onedrive. Pensez-vous que le point de terminaison V2 peut répondre à mes besoins? Ou si vous savez quelque chose d'autre qui peut le faire, pourriez-vous s'il vous plaît le partager avec moi? –