QuickBooks Online-Abfragen mit Filter geben jedes Mal 401 zurück

Ich hatte Erfolg beim Erstellen von Objekten mit POST und Content-Type application / xml

Ich habe auch erfolgreich mit Content-Type application / x-www-form-urlencoded mit einem leeren Anforderungshauptteil abgefragt, der den gesamten Objekttyp zurückgibt, abhängig von der von mir angegebenen URI.

Ich kann dasselbe auch dazu bringen, mit so etwas wie PageNum = 1 & ResultsPerPage = 1 im Anforderungshauptteil zu arbeiten, und ich habe herausgefunden, wie ich das in die Signatur einbauen kann, damit ich eine gültige Antwort bekomme.

Egal wie ich es formatiere, ich kann nichts anderes als eine 401-Antwort erhalten, wenn ich versuche, einen Filter zu verwenden (etwas Grundlegendes wie Filter = FAMILYNAME: EQUALS: Doe). Ich habe die OAuth Core 1.0 Revision A-Spezifikationen gelesen, in denen beschrieben ist, wie alle Parameternamen und -werte mit der Prozentcodierung [RFC3986] maskiert werden. Ich habe jedoch das Gefühl, einen Schritt zu verpassen oder falsch zu formatieren. Ich habe in den Foren von Intuit inkonsistente Informationen zum richtigen Format gefunden.

Jede Hilfe hierzu wäre sehr dankbar. Ich habe jetzt seit einer guten Woche damit zu kämpfen.

Die Antwort beim Versuch, einen Filter zu verwenden, lautet: HTTP-Status 401 - message = Ausnahme bei der Authentifizierung von OAuth; errorCode = 003200; statusCode = 401

----Aktualisieren----

Beim Verwenden von Filtern mit den neuen IPP-Entwicklertools - IPP-API-Explorer wird derselbe Fehler angezeigt. Ich verwende den IDS V2 QBO API Explorer. Ich kann dieses Tool verwenden, um alle Posts abzurufen, und die Antwort zeigt alle meine Kunden an. Wenn ich jedoch versuche, einen Filter zu verwenden, wird Folgendes angezeigt: Serverfehler 401 - Nicht autorisiert: Der Zugriff wird aufgrund ungültiger Anmeldeinformationen verweigert. Sie haben keine Berechtigung, dieses Verzeichnis oder diese Seite mit den von Ihnen angegebenen Anmeldeinformationen anzuzeigen.

Irgendwelche Ideen? Wenn das API-Explorer-Tool denselben Fehler ausgibt, kann ich davon ausgehen, dass das Problem etwas ganz anderes ist.

---- Letzte Aktualisierung ----

Ich hatte endlich Erfolg mit Filtern und ich glaube, ich habe herausgefunden, was mein Problem war. Ich war immer misstrauisch, dass ich in der Lage war, Abfragen mit Seitenumbrüchen wie "PageNum = 1 & ResultsPerPage = 1" zum Funktionieren zu bringen, aber nicht "Filter = FAMILYNAME: EQUALS: Doe". Ich vermutete, dass es ein Problem mit dem Leerraum im Filterformat gab. Was mich früher davon abgehalten hat, das aufzuspüren, war, dass ich die Filter im IDS V2 QBO API Explorer nicht zum Laufen bringen konnte. Das ließ mich vermuten, dass noch etwas los war. Ich habe beschlossen, den API-Explorer insgesamt zu ignorieren und mich darauf zu konzentrieren, warum ich ihn auf die eine, aber nicht auf die andere Weise zum Laufen bringen könnte.

Ich glaube, mein Problem lag in der falschen Codierung des Filterwerts in der Signatur. Das erklärt die 401 ungültigen Signaturfehler, die ich bekommen habe.

"Filter = Name: EQUALS: Doe" wird nach der Normalisierung zu "Filter = Name% 20% 3AEQUALS% 20% 3ADoe".

Prozentcodierung, die "Filter% 3DName% 2520% 253AEQUALS% 2520% 253ADoe" ergeben sollte.

Im Wesentlichen müssen Sie die Leerstelle und die Doppelpunkte, aber nicht das Gleichheitszeichen "verdoppeln". Ich habe viele Permutationen für die Codierung ausprobiert, aber ich glaube, mein Fehler war, dass ich entweder nicht "doppelt" codiert habe oder als ich doppelt codiert habe, das Zeichen "=" eingefügt habe. In beiden Fällen wird Ihre Unterschrift verletzt. Vielen Dank für alle Beiträge.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage