2017-02-27 4 views
0

Ich versuche, alle meine Dateien in meinem Laufwerkerhalten alle Dateien im Laufwerk über REST API

über den Endpunkt für den Zugriff auf
/me/drive/root/children 

aber es gibt 0 zurück, Kinder, obwohl die folgenden Beobachtungen geschehen:

  1. Aufruf /me/drive/root Rückkehr:

    “, "Ordner": { "KindZählwert": 3}, "root": {}, "Größe": 28413, "Special": { "name": "Dokumente"} }

  2. Noch interessanter ist, den API-Aufruf aus dem Graph Explorer tun: https://graph.microsoft.io/en-us/graph-explorertut zeigen die drei Dateien, die ich habe, wenn me/drive/root/children verwenden.

  3. Der Graph-Explorer stimmt perfekt mit dem API-Aufruf überein, wenn /me/drive/root, aber nicht /me/drive/root/children verwendet wird.

Was passiert?

EDIT:

Nach Brad Vorschlag decodiert ich das Token mit https://jwt.io/ und die Parameter scp lautet:

scp": "Mail.Send User.Read", 

Zweite edit:

ich alle App-Berechtigungen von apps.dev entfernt. microsoft.com und ich habe immer noch die gleichen Beobachtungen. Es sieht so aus, als ob die Berechtigungen, die ich dort gesetzt habe, keine Wirkung haben.

+1

Können Sie öffnen Sie Ihre Auth-Token mit etwas wie https://jwt.io/ und lassen Sie uns wissen, was der 'scp' Wert ist? Es fühlt sich mit Erlaubnis verwandt. – Brad

+0

"scp": "Mail.Send User.Read", – elelias

+0

Sie benötigen 'Files.Read', um Zugriff auf eine der Dateien zu bekommen - können Sie hinzufügen, erhalten Sie ein neues Token, bestätigen Sie, dass es in der' scp' Liste, und versuchen Sie dann den Anruf erneut? – Brad

Antwort

0

Der obige Code folgt dem Beispiel zu Hause:

microsoft = oauth.remote_app(
    'microsoft', 
    consumer_key=client_id, 
     consumer_secret=client_secret, 
     request_token_params={'scope': 'User.Read Mail.Send Files.Read Files.ReadWrite'}, 
     base_url='https://graph.microsoft.com/v1.0/', 
     request_token_url=None, 
     access_token_method='POST', 
     access_token_url='https://login.microsoftonline.com/common/oauth2/v2.0/token', 
     authorize_url='https://login.microsoftonline.com/common/oauth2/v2.0/authorize' 
) 

Ich habe nicht haben die richtigen Bereiche erklärt:

https://dev.office.com/code-samples-detail/5989

Wie es von hier aus, stellt sich heraus, die ganze verwirrende kommen würde in request_token_params. Selbst wenn die App die Berechtigungen besitzt, können Sie ohne die dort deklarierten Bereiche nicht auf die Blätter zugreifen.

Verwandte Themen