2017-04-10 10 views
0

Ich versuche, auf meine Dateien von MS OneDrive zuzugreifen, aber als Antwort gibt es mir den Fehler "Unerlaubter Zugriff". Ich habe mein Zugriffstoken aktualisiert und die App ist gültig und im MS App-Registrierungsportal registriert.Microsoft OneDrive und SharePoint

Ich habe über das Internet gesucht und keine Lösung gefunden.

Den Code finden Sie unter github repository. Die Methoden zur Sorge sind autorisieren() und accessAndRefreshToken()

Auch ich bin recieving verschiedene Fehler mit verschiedenen Werkzeugen.

Während Postman mit dem Fehler ist:

{ 
    "error": { 
    "code": "InvalidAuthenticationToken", 
    "message": "Bearer access token is empty.", 
    "innerError": { 
     "request-id": "729c6cdc-6b9e-4874-b012-5e8bdd2d91da", 
     "date": "2017-04-11T17:35:47" 
    } 
    } 
} 

Dieser Fehler auch angezeigt, wenn ich das Zugriffstoken mit der Anforderung zur Verfügung gestellt habe.

Während onlinecurl.com mit:

{ 
    "error": { 
    "code": "InvalidAuthenticationToken", 
    "message": "CompactToken validation failed with reason code: -2147184088.", 
    "innerError": { 
     "request-id": "3c1f007b-1af8-447a-89c2-eab04bd66d2e", 
     "date": "2017-04-11T17:34:26" 
    } 
    } 
} 

Dies ist, wie meine Anfrage wie folgt aussieht:

GET https://graph.microsoft.com/v1.0/me/drive 
--header Content-Length: 0 
--header Authorization: bearer {access_token} 

ich mit v2.0 versucht statt v1.0 und Bearer statt bearer. Kein Glück.

+1

Bitte fügen Sie den Code ein, den Sie haben, und zeigen Sie an, wo der Fehler auftritt und welche Details der Fehler hat (falls Ausnahme der Typ usw.). – Richard

+0

Sorry @Richard es ist ein bisschen spät, ich habe meine Frage aktualisiert. Danke schon! –

Antwort

1

Sie haben eine Kombination aus älteren MSA- und modernen v2-Authentifizierungs-Bits.

Sie sind tokenUrl ist falsch. Es sollte https://login.microsoftonline.com/common/oauth2/v2.0/token sein.

Sie benötigen auch keine Berechtigungsbereiche. Das Endergebnis wäre ein Token ohne die Möglichkeit, auf irgendetwas zuzugreifen. Sie werden wahrscheinlich mindestens User.Read und Files.ReadWrite wollen.

Werfen Sie einen Blick auf Microsoft v2 Endpoint Primer für einen Spaziergang durch.

Verwandte Themen