Ich arbeite an der Integration mit der Photobucket-API, und ich stieß auf diese in ihrer api docs :
"Sortieren Sie die Parameter nach Namen lexographisch (Bytereihenfolge, die Standardsortierung, nicht natürlich oder Fall unempfindlich). Wenn die Parameter haben den gleichen Namen, dann nach dem Wert sortieren. "
Was heißt das? Wie sortiere ich lexikografisch? Byte-Bestellung?
Der Rest ihrer Dokumente war bisher in Ordnung, aber (für mich) scheint diese Zeile eine weitere Erklärung zu enthalten. Leider war keiner zu haben.
Wie auch immer, ich schreibe die Anwendung in Python (es wird schließlich zu einer Django-App), falls Sie spezifische Module empfehlen, die diese Sortierung für mich übernehmen werden ^ _ ^
Das Wort sollte "lexikographisch" sein
Wörterbuchreihenfolge. Verwenden Sie die Buchstaben, wie sie in den Strings erscheinen.
Wie sie vorschlagen, falten Sie Groß- und Kleinschreibung nicht zusammen. Verwenden Sie einfach die integrierte list.sort () - Methode von Python.
Dies ist ähnlich der Facebook-API - die Abfragezeichenfolge muss vor dem Generieren des Signatur-Hashs normalisiert werden.
Sie haben wahrscheinlich ein Wörterbuch mit Parametern wie:
%Vor%Erstellen Sie die Abfragezeichenfolge wie folgt:
%Vor% params.items()
gibt die Schlüssel und Werte des Dictionary als Listentupel zurück, sorted()
sortiert die Liste und urllib.urlencode()
verknüpft sie beim Escaping zu einer einzigen Zeichenkette.
Zitieren Sie ein wenig mehr aus dem Abschnitt:
2 Generiere den Basisstring:
Normalisieren Sie die Parameter:
Fügen Sie den Eingabeparametern die OAuth-spezifischen Parameter für diese Anforderung hinzu, einschließlich:
%Vor%Sortieren Sie die Parameter nach dem Namen lexographisch (Bytereihenfolge, Standardsortierung, nicht natürlich oder ohne Berücksichtigung der Groß- und Kleinschreibung). Wenn die Parameter denselben Namen haben, sortieren Sie nach dem Wert.
Codieren Sie die Parameterwerte wie in RFC3986 Abschnitt 2 (d. h. Urlencode). Erstelle Parameter string (). Dies ist das gleiche Format wie HTTP 'postdata' oder 'querystring', dh jeder Parameter wird als Name = Wert dargestellt, getrennt durch & amp ;. Zum Beispiel
a=1&b=2&c=hello%20there&c=something%20else
Ich denke, dass sie sagen, dass die Parameter in der sortierten Reihenfolge erscheinen müssen - oauth_consumer_key
vor oauth_nonce
vor ...
Tags und Links python api sorting photobucket