2017-03-21 3 views
0

J'essaie de mettre en œuvre la vérification de la disponibilité pour un utilisateur spécifique (en fait une pièce) dans le calendrier O365. J'utilise Graph API comme recommandé par Microsoft.Comment vérifier la disponibilité des autres utilisateurs avec Microsoft Graph API?

Ma première approche utilisait POST sur https://graph.microsoft.com/v1.0/me/findMeetingTimes avec le corps du message préparé selon le modèle donné en Graph API Explorer. Sur l'API explorateur tout semble fonctionner correctement mais quand je tente d'exécuter exactement la même demande avec mes applications jeton je reçois 403:

{ 
    "error": { 
    "code": "ErrorAccessDenied", 
    "message": "Access is denied. Check credentials and try again.", 
    "innerError": { 
     "request-id": "b130177d-e138-4cc7-8e72-5d3529a9dc24", 
     "date": "2017-03-21T08:47:10" 
    } 
    } 
} 

J'ai vérifié les autorisations délégués de l'application dans DAA et ils semblent être très bien. Pour Microsoft Graph ceux-ci sont accordées:

  • Calendars.ReadWrite.Shared
  • Calendars.Read.Shared
  • Calendars.ReadWrite
  • Calendars.Read

-je obtenir exactement la même réponse (403) lorsque j'essaie de lister simplement les événements de l'utilisateur: https://graph.microsoft.com/v1.0/users//events Dans l'API Graph Explorer 500 est renvoyé.

J'ai trouvé la description de bug suivante: https://github.com/microsoftgraph/microsoft-graph-docs/issues/559 (et probablement this one too) Est-ce que c'est lié aux problèmes ci-dessus?

Une idée de ce que je pourrais faire mal?

Existe-t-il un autre moyen de réaliser la même chose en utilisant un point de terminaison ou une API différent en supposant que je veux toujours utiliser oAuth pour l'autorisation?

Je serai reconnaissant pour tout soupçon


Mise à jour: Outlook Calendar API semble fonctionner. Vous appréciez toujours les idées pour lesquelles l'API graphique ne fonctionne pas?

+0

Pouvez-vous valider que vous avez les bonnes permissions dans votre jeton? vous pouvez coller votre jeton d'accès sur jwt.calebb.net/ pour le décoder et rechercher la revendication scp –

+0

'scp:" Calendriers.Lecture Calendriers.Read.All Calendriers.ReadWrite User.Read "' – Marek

Répondre

-1

Le FindMeetingAPI a besoin Un travail ou un compte d'école. Si vous vous connectez en utilisant votre identifiant d'e-mail personnel, vous ne pourrez peut-être pas vous connecter. De plus, vous devez définir les autorisations sur Calendars.Read Calendars.Read.All Calendars.ReadWrite User.Read"

+0

J'ai les permissions et compte d'organisation donc ce n'est pas le cas – Marek

+0

@Marek était votre problème résolu? – Apoorv

+0

@Aproov Je n'ai pas basculé vers l'API Graph à partir de ce moment mais le [problème sur GH] (https://github.com/microsoftgraph/microsoft-graph-docs/issues/559) est toujours ouvert et actif (commenté hier) donc je suppose que ce n'est pas résolu – Marek