2016-11-02 3 views
1

Ich habe versucht, eine Datei mit Grpah API herunterzuladen.Microsoft Graph Download-Datei Inhalt gibt 404

mit API-Browser getestet, https://graph.microsoft.io/en-us/graph-explorer#

Ran folgenden Aufruf bekam Liste der Datei/Ordner Artikelinformationen,

https://graph.microsoft.com/v1.0/me/drive/root/children

Und für eine der Datei Artikels, ich war in der Lage zu bekommen Gegenstand Information.

https://graph.microsoft.com/beta/me/drive/items/_an_item_id

Aber folgende Code gibt HTTP 404.

https://graph.microsoft.com/beta/me/drive/items/_an_item_id/content

Was für dieses Symptom die Ursache sein wird?

+0

Hat sich '/ content' selbst' 404' abgefragt, oder hat er Sie ('302') auf eine URL umgeleitet, die dann eine' 404' zurückgegeben hat? – Brad

+0

Dank @Brad, ja, 302 zuerst zurückgegeben und dann 404. Und der gefundene Speicherort ist genau das gleiche ist die "@ microsoft.graph.downloadUrl" Informationen für das Dateielement. – Locke

+0

@Brad, so ist es, weil nur der Graph Explorer die Umleitung nicht unterstützt? Ich habe meine Azure-registrierte App im Daemon-Modus authentifiziert, habe Auth-Code erhalten. Ich habe versucht, die Datei in "Download-URL" mit "Bearer" HTTP-Header herunterladen, aber es sagt 404. Wie laden Sie eine Datei von diesem Link? – Locke

Antwort

1

Es wird nicht unterstützt, eine Anforderung an https://graph.microsoft.com/beta/me/drive/items/<itemid>/content Endpunkt über Graph Explorer durchzuführen.

Die über den Grath Explorer an den Endpunkt https://graph.microsoft.com/beta/me/drive/items/<itemid>/content gesendete Anforderung wird als preflight request ausgegeben. Der Server antwortet mit 302-Redirect, aber Weiterleitungen sind für Preflight-Anforderungen aufgrund CORS behavior nicht zulässig.

ist hier eine Abhilfe auf, wie eine Datei

Folgende Antrieb Artikel Ressourcenanforderung zum Download:

https://graph.microsoft.com/beta/me/drive/items/<itemId> 

kehrt @microsoft.graph.downloadUrl Anmerkung, die den tatsächlichen Link enthält Ressource-Datei.

Sobald die Laufwerksartikelressource abgerufen wird, führen Sie eine weitere GET-Anfrage an die URL von @microsoft.graph.downloadUrl aus, um die tatsächliche Datei zurückzugeben.

+0

Danke. Seltsam, aber es scheint, dass es 404 für die Download-Anfrage zurückgibt, wenn ich accesstoken von 'Daemon oder Server Application' Typ, geschrieben in https://azure.microsoft.com/de-de/documentation/articles/active-directory-authentication-scenarios/ Aber wenn ich das Acces-Token aus dem Auth-Flow benutze, gibt es mir die Inhaltsdaten. https://dev.onedrive.com/auth/aad_oauth.htm Letzteres erfordert eine Benutzeranmeldung und ich melde mich als globaler Administrator für eine Domäne an. Ersteres erfordert keine Benutzeranmeldung, da es ein Daemon ist. Beeinflusst der AccessToken-Typ das Verhalten für die Datei-Download-Anforderung? – Locke

+0

@Locke Ich habe das gleiche Problem (404) Abrufen einer Datei mit "App-only" -Token. Konnten Sie die Datei ohne Benutzerinteraktion herunterladen? –

+0

@MartinoBordin Ich fürchte nein. Ich denke, es liegt daran, dass sie eine gewisse Authentifizierungsstufe haben und unter niedrigerer Authentifizierungsebene können wir nicht viel tun, wie das Herunterladen von Inhalten. – Locke

Verwandte Themen