2017-07-05 10 views
0

Ich versuche, Office 365-Verwendungsberichte in Graph-API zu verwenden. Ich möchte zum Beispiel den EmailActivity Report mit der Anfrage GET/reports/EmailActivity (view = view-value, period = period-value, date = date-value)/contentGraph API Office 365-Verwendungsbericht - verboten

exportieren Wenn ich das Beispiel versuche https://graph.microsoft.com/beta/reports/EmailActivity(view= 'Detail ', period =' D7 ')/Inhalt im Graph Explorer Ich habe folgenden Fehler

Fehler - Statuscode 403705msSieht aus, als hätten Sie möglicherweise nicht die Berechtigungen für diesen Aufruf. Bitte ändern Sie Ihre Berechtigungen.

{ 
    "error": { 
     "code": "Forbidden", 
     "message": "Invalid scope claims/roles.", 
     "innerError": { 
      "request-id": "f1f89dcf-b2df-4537-a4ad-f07ccfff2899", 
      "date": "2017-07-05T17:01:23" 
     } 
    } 
} 

ich nicht uderstand, weil ich wie ein Admin von Office looging 365 füge ich habe fast die ganze permision. Was ich vermisst hatte?

Edit: Weitere Details, Ich benutze Graph Explorer, wenn ich auf den Zugang enter image description here

Ich habe th Bestätigung

enter image description here

Ich habe das Admin-Recht

gewähren enter image description here

Ich versuche, meine Anfrage in Graph Explorer

enter image description here

Und ich habe meine Fehler

enter image description here

Ich weiß nicht, was ich besser machen könnte sein.

+0

Können Sie die Bereiche angeben, die Sie anfordern? –

+0

Wo könnte ich m scope in Graph Explorer-Anfrage finden? – Mary

Antwort

0

Lesen Sie nach Get EmailActivity report document, dass der Bericht Reports.Read.All Erlaubnis benötigt. Und gemäß Reports permissions of microsoft graph api ist Reports.Read.Allapplication permission, die es einer App ermöglicht, alle Dienstnutzungsberichte ohne einen angemeldeten Benutzer zu lesen. Um sicherzustellen, dass api rufen, müssen Sie Client Credential Fluss verwenden, um erwerben Token mit App Identität:

  1. hinzufügen Read all usage reports Anwendung Erlaubnis von Microsoft Graph in Ihrer azur Anzeige Anwendung: enter image description here

  2. Grants, dass die Anwendung der Erlaubnis indem du auf den Button Grant Permissions im obigen Screenshot mit Admin-Account deines AADs klickst.

  3. Mit Client Credential Fluss zum Zugriffstoken für Microsoft Graph erwerben:

    POST https://login.microsoftonline.com/chencl.onmicrosoft.com/oauth2/token 
    
    grant_type=client_credentials&client_id=<client_id>&client_secret=<client_secret>&resource=https%3A%2F%2Fgraph.microsoft.com%2F 
    

    Nachdem Sie die Zugriffstoken zu erhalten, können Sie das Token entschlüsseln online tool verwenden, sollten Sie Reports.Read.All in roles Anspruch finden.

  4. Dann könnten Sie die EmailActivity api aufrufen, gibt es 302 Gefunden Antwort Umleiten auf eine vorauthentifiziert Download-URL für den Bericht: enter image description here

Bitte lassen Sie mich wissen, ob es hilft.

+0

Danke für die Details, ich habe meine Post mit mehr Details bearbeiten, weil mein Fehler im Graph Explorer – Mary

+0

Grafik-Explorer zum Testen verwendet wird, und es enthält nicht diese Erlaubnis (die App-Identität benötigen). –

+0

Eine Notiz, Reports.Read wurde erst kürzlich zum Explorer hinzugefügt, hat aber die Produktion noch nicht erreicht. Sie können es jedoch lokal über Node ausführen. Informationen dazu finden Sie unter https://github.com/microsoftgraph/microsoft-graph-explorer. –