Ich versuche, eine AJAX-GET-Anforderung von meinem lokalen Server an den RESTful-API-Dienst von Office365 zu stellen, es treten jedoch domänenübergreifende HTTPRequest-Fehler auf. Das Folgende ist ein Beispiel für meinen 'Get-Files-at-Root'-Versuch:
%Vor%Ich erhalte die folgende Antwort vom Server:
%Vor%Ich habe versucht, das Zugriffstoken als Header-Parameter zu senden:
%Vor%aber das hatte das gleiche Ergebnis.
Irgendwelche Ideen, was ich falsch mache?
(Hintergrund: Ich versuche, meine eigene Office365-Dateiauswahl auf dem Client zu erstellen, weil ich keine verfügbare Bibliothek für OneDrive Business finden konnte, die diese zur Verfügung stellt.)
Office 365 Files API und SharePoint REST haben soeben die Unterstützung für CORS eingeführt.
Was Sie versucht haben, ist genau, wie es funktioniert. Der Dienst antwortet auf die OPTIONS-Pre-Flight-Anfrage mit einem Access-Control-Allow-Origin-Header.
Die Autorisierung in der Anforderung muss ein von Azure Active Directory ausgestelltes OAuth2-Token für den impliziten Zugriff sein.
Sie haben keine Ahnung von CORS. Lesen Sie die Spezifikation: Ссылка
In Ihrem Fall müssen Sie null
origin zulassen, da wir über localhost sprechen. Sie müssen die Methoden und die Header zulassen, die Sie senden, sogar den Header content-type
. Sie müssen das Senden von Anmeldeinformationen zulassen, die Sie in der Kopfzeile Authorization
erhalten. Sie müssen OPTIONS
Anfragen mit 200 ok
bearbeiten.
Können Sie versuchen, den Access-Control-Allow-Origin-Header wie unten gezeigt zu setzen.
%Vor%