Freigeben über


Häufige Fehlerantworten und Codes

Fehler in der OneDrive-API werden mithilfe der standardmäßigen HTTP-Statuscodes sowie eines JSON-Fehlerantwortobjekts zurückgegeben. Die folgenden HTTP-Statuscodes können erwartet werden.

Statuscode Statusmeldung Beschreibung
400 Ungültige Anforderung (Bad Request) Die Anforderung kann nicht verarbeitet werden, da sie fehlerhaft oder falsch ist.
401 Nicht autorisiert (Unauthorized) Erforderliche Authentifizierungsinformationen fehlen oder sind für die Ressource nicht gültig.
403 Forbidden Der Zugriff auf die angeforderte Ressource wird verweigert. Der Benutzer verfügt möglicherweise nicht über ausreichende Berechtigungen.
404 Nicht gefunden (Not Found) Die angeforderte Ressource ist nicht vorhanden.
405 Methode nicht zulässig (Method Not Allowed) Die HTTP-Methode in der Anforderung ist für die Ressource nicht zulässig.
406 Nicht zulässig (Not Acceptable) Dieser Dienst unterstützt nicht das im Accept-Header angeforderte Format.
409 Conflict Der aktuellen Status steht im Konflikt mit dem, was die Anforderung erwartet. Beispielsweise ist der angegebene übergeordnete Ordner nicht vorhanden.
410 Nicht vorhanden (Gone) Die angeforderte Ressource ist nicht mehr auf dem Server verfügbar.
411 Länge erforderlich (Length Required) Ein Content-Length-Header ist für die Anforderung erforderlich.
412 Fehler bei Vorbedingung (Precondition Failed) Eine in der Anforderung bereitgestellte Vorbedingung (z. B. ein if-match-Header) entspricht nicht dem aktuellen Status der Ressource.
413 Anforderungseinheit zu groß (Request Entity Too Large) Die Größe der Anforderung überschreitet den zulässigen Höchstwert.
415 Nicht unterstützter Medientyp (Unsupported Media Type) Der Inhaltstyp der Anfrage hat ein Format, das vom Dienst nicht unterstützt wird.
416 Angeforderter Bereich kann nicht erfüllt werden (Requested Range Not Satisfiable) Der angegebene Bytebereich ist ungültig oder nicht verfügbar.
422 Einheit kann nicht bearbeitet werden (Unprocessable Entity) Die Anforderung kann nicht verarbeitet werden, da sie semantisch falsch ist.
429 Zu viele Anforderungen (Too Many Requests) Die Clientanwendung wurde gedrosselt und sollte nicht versuchen, die Anforderung zu wiederholen, bis eine bestimmte Zeitspanne abgelaufen ist.
500 Interner Serverfehler (Internal Server Error) Beim Verarbeiten der Anforderung ist ein interner Serverfehler aufgetreten.
501 Nicht implementiert (Not Implemented) Das angeforderte Feature ist nicht implementiert.
503 Service Unavailable Der Dienst ist vorübergehend nicht verfügbar. Sie können die Anfrage nach einer kurzen Wartezeit wiederholen. Es ist möglicherweise ein Retry-After-Header vorhanden.
507 Unzureichender Speicher (Insufficient Storage) Das maximale Speicherkontingent wurde erreicht.
509 Bandwidth Limit Exceeded Die App wurde gedrosselt, da sie die maximale Bandbreite überschritten hat. Die App kann die Anforderung nach einiger Zeit wiederholen.

Die Fehlerantwort ist ein einzelnes JSON-Objekt, das eine einzige Eigenschaft mit dem Namen error enthält. Dieses Objekt enthält alle Fehlerdetails. Sie können die hier zurückgegebenen Informationen anstelle von oder zusätzlich zu dem zurückgegebenen HTTP-Statuscode verwenden. Nachfolgend finden Sie ein Beispiel für einen vollständige JSON-Fehlertext.

{
  "error": {
    "code": "invalidRange",
    "message": "Uploaded fragment overlaps with existing data.",
    "innererror": {
      "code": "fragmentOverlap"
    }
  }
}

Die Codeeigenschaft

Die code-Eigenschaft enthält einen von 15 möglichen Werten. Ihre Apps müssen in der Lage sein, diese Fehler behandeln zu können.

Code Beschreibung
accessDenied Der Aufrufer hat nicht die Berechtigung zum Ausführen der Aktion.
activityLimitReached Die App oder der Benutzer wurde gedrosselt.
generalException Ein nicht angegebener Fehler ist aufgetreten.
invalidRange Der angegebene Bytebereich ist ungültig oder nicht verfügbar.
invalidRequest Die Anforderung ist fehlerhaft oder falsch.
itemNotFound Die Ressource konnte nicht gefunden werden.
malwareDetected In der angeforderten Ressource wurde Schadsoftware erkannt.
nameAlreadyExists Der angegebene Elementname ist bereits vorhanden.
notAllowed Diese Aktion ist im System nicht zulässig.
notSupported Die Anforderung wird vom System nicht unterstützt.
resourceModified Die zu aktualisierende Ressource wurde geändert, seit der Aufrufer sie zuletzt gelesen hat.Dies ist in der Regel ein eTag-Konflikt.
resyncRequired Das Deltatoken ist nicht mehr gültig, und die App muss den Synchronisierungszustand zurücksetzen.
serviceNotAvailable Der Dienst ist nicht verfügbar. Wiederholen Sie die Anforderung nach einer Weile. Es ist möglicherweise ein Retry-After-Header vorhanden.
quotaLimitReached Der Benutzer hat sein Kontingent erschöpft.
unauthenticated Der Aufrufer konnte nicht authentifiziert werden.

Das innererror-Objekt kann rekursiv mehrere innererror-Objekte mit weiteren, spezifischeren Fehlercodes enthalten. Bei der Behandlung eines Fehlers sollten Apps alle verfügbaren Fehlercodes durchlaufen und den detailliertesten Fehlercode, den sie interpretieren können, verwenden. Einige der detaillierteren Codes sind unten auf dieser Seite aufgeführt.

Um zu überprüfen, ob es sich bei einem Fehlerobjekt um einen erwarteten Fehler handelt, müssen Sie die innererror-Objekte durchlaufen und dabei nach den erwarteten Fehlercodes suchen. Beispiel:

public bool IsError(string expectedErrorCode)
{
    OneDriveInnerError errorCode = this.Error;
    while (null != errorCode)
    {
        if (errorCode.Code == expectedErrorCode)
            return true;
        errorCode = errorCode.InnerError;
    }
    return false;
}

Ein umfassendes Beispiel für die ordnungsgemäße Behandlung von Fehlern finden Sie unter Behandlung von Fehlercodes in OneDrive.

Die message-Eigenschaft im Stamm enthält eine Fehlermeldung, die für den Entwickler vorgesehen ist. Fehlermeldungen werden nicht lokalisiert und sollten dem Benutzer nicht direkt angezeigt werden. Bei der Behandlung von Fehlern sollte Ihr Code nicht von message-Werte abhängen, da sie sich jederzeit ändern können und häufig dynamische Informationen zur fehlgeschlagenen Anforderung enthalten. Sie sollten den Code nur in Bezug auf Fehlercodes schreiben, die in code-Eigenschaften zurückgegeben werden.

Weitere Informationen zu der Ressource, die in der Fehlerantwort zurückgegeben wird, finden Sie im Thema Fehlerressourcentyp.

Detaillierte Fehlercodes

Im Folgenden finden Sie einige zusätzliche Fehler, die für Ihre App innerhalb der geschachtelten innererror Objekte auftreten können. Apps müssen diese nicht verarbeiten, können aber, wenn sie möchten. Der Dienst kann jederzeit neue Fehlercodes hinzufügen oder die Rückgabe alter Fehlercodes beenden. Daher ist es wichtig, dass alle Apps in der Lage sind, die oben genannten Grundlegenden 15 zu verarbeiten.

Code Beschreibung
accessRestricted Der Zugriff ist auf den Besitzer des Elements beschränkt.
cannotSnapshotTree Fehler beim Abrufen eines konsistenten Deltasnapshots. Versuchen Sie es später erneut.
childItemCountExceeded Höchstwert für die Anzahl der untergeordneten Elemente wurde erreicht.
entityTagDoesNotMatch Das ETag stimmt nicht mit dem aktuellen Wert des Elements überein.
fragmentLengthMismatch Die deklarierte Gesamtgröße für dieses Fragment unterscheidet sich von der Uploadsitzung.
fragmentOutOfOrder Hochgeladenes Fragment funktioniert nicht ordnungsgemäß.
fragmentOverlap Hochgeladenes Fragment überschneidet sich mit den vorhandenen Daten.
invalidAcceptType Ungültiger Accept-Typ.
invalidParameterFormat Ungültiges Parameterformat.
invalidPath Name enthält ungültige Zeichen.
invalidQueryOption Ungültige Abfrageoption.
invalidStartIndex Ungültiger Startindex.
lockMismatch Sperrtoken entspricht nicht der vorhandenen Sperre.
lockNotFoundOrAlreadyExpired Das Element hat derzeit keine nicht abgelaufene Sperre.
lockOwnerMismatch Die ID des Sperrenbesitzers entspricht nicht der angegebenen ID.
malformedEntityTag ETag-Heder ist fehlerhaft. ETags müssen in Anführungszeichen eingeschlossene Zeichenfolgen sein.
maxDocumentCountExceeded Höchstwert für die Anzahl der Dokumente wurde erreicht.
maxFileSizeExceeded Die maximale Dateigröße wurde erreicht.
maxFolderCountExceeded Die maximale Anzahl von Ordnern wurde erreicht.
maxFragmentLengthExceeded Die maximale Dateigröße wurde erreicht.
maxItemCountExceeded Die maximale Anzahl von Elementen wurde erreicht.
maxQueryLengthExceeded Die maximale Abfragelänge wurde überschritten.
maxStreamSizeExceeded Die maximale Streamgröße wurde überschritten.
parameterIsTooLong Der Parameter überschreitet die maximale Länge.
parameterIsTooSmall Der Parameter ist kleiner als der Mindestwert.
pathIsTooLong Der Pfad überschreitet die maximale Länge.
pathTooDeep Die maximale Tiefe der Ordnerhierarchie wurde erreicht.
propertyNotUpdateable Die Eigenschaft kann nicht aktualisiert werden.
resyncApplyDifferences Erneute Synchronisierung erforderlich. Ersetzen Sie alle lokalen Elemente durch die Serverversion (einschließlich gelöschter Elemente), wenn Sie sicher sind, dass der Dienst bei der letzten Synchronisierung mit den lokalen Änderungen aktualisiert wurde. Laden Sie alle lokalen Änderungen hoch, die dem Server noch nicht bekannt sind.
resyncRequired Erneute Synchronisierung erforderlich.
resyncUploadDifferences Erneute Synchronisierung erforderlich. Laden Sie alle lokalen Elemente hoch, die der Dienst nicht zurückgegeben hat, und laden Sie alle Dateien hoch, die sich von der Version auf dem Server unterscheiden (wobei Sie beide Kopien beibehalten, wenn Sie nicht sicher sind, welche die aktuelle ist).
serviceNotAvailable Der Server kann die aktuelle Anforderung nicht verarbeiten.
serviceReadOnly Ressource ist vorübergehend schreibgeschützt.
throttledRequest Zu viele Anforderungen.
tooManyResultsRequested Zu viele Ergebnisse angefordert.
tooManyTermsInQuery Zu viele Ausdrücke in der Abfrage.
totalAffectedItemCountExceeded Vorgang ist nicht zulässig, da die Anzahl der betroffenen Elemente den Schwellenwert überschreitet.
truncationNotAllowed Datenkürzung ist nicht zulässig.
uploadSessionFailed Fehler beim der Uploadsitzung.
uploadSessionIncomplete Uploadsitzung ist nicht vollständig.
uploadSessionNotFound Uploadsitzung nicht gefunden.
virusSuspicious Dieses Dokument ist verdächtig und hat möglicherweise ein Virus.
zeroOrFewerResultsRequested Es wurden null oder weniger Ergebnisse angefordert.