MS Graph API: ungültiges Authentifizierungstoken

Ich versuche, mithilfe der Microsoft Graph-API ein Outlook / O365-Postfach nach Nachrichten abzufragen. ICHmeine App registriert im Azure-Portal und erhielt die erforderlichen Informationen zum Abfragen der API. Die App hat dasMail.Read Genehmigung. (Mir wurde mitgeteilt, dass ich keinen Zugriff auf das Azure-Portal habe.) Wenn ich mein Token vom OAuth-Endpunkt erhalte, funktioniert es bei nachfolgenden Aufrufen jedoch nicht. Ich benutze gerade das Anforderungsmodul von Python zum Testen.

Warum schlägt dieser Anruf fehl? Es scheint, als würde ich alle korrekten Informationen weitergeben, aber mir fehlt eindeutig etwas.

Ich erhalte das Token durch Ausführen einesPOST auf

https://login.microsoftonline.com/my.domain/oauth2/token

Ich übergebe die notwendigen Parameter:

data = {'grant_type': 'client_credentials', 'client_id': CLIENTID, 'client_secret': SECRET, 'resource': APPURI}

und ich bekomme eine Antwort wie diese:

{
    'resource': 'APPURI',
    'expires_in': '3599',
    'ext_expires_in': '3600',
    'access_token': 'TOKENHERE',
    'expires_on': '1466179206',
    'not_before': '1466175306',
    'token_type': 'Bearer'
}

Ich versuche jedoch, dieses Token zu verwenden, und es funktioniert für nichts, was ich anrufe. Ich übergebe es als Header:

h = {'Authorization': 'Bearer ' + TOKEN}

Ich rufe diese URL an:

url = 'https://graph.microsoft.com/v1.0/users/[email protected]/messages'

Insbesondere verwende ich diese:

r = requests.get(url, headers=h)

Die Antwort ist ein 401:

{
    'error': {
        'innerError': {
            'date': '2016-06-17T15:06:30',
            'request-id': '[I assume this should be removed for privacy]'
         },
         'code': 'InvalidAuthenticationToken',
         'message': 'Access token validation failure.'
     }
}

Antworten auf die Frage(10)

Ihre Antwort auf die Frage