Ich implementiere die Socrata API, um öffentlich verfügbare Daten von der City of Chicago open data set zu analysieren. Ich bin wirklich nur über die Daten selbst besorgt, also dachte ich zunächst nicht, dass ich OAuth2 über eine App implementieren müsste, die über ngrok verfügbar gemacht wird, um die Daten abzurufen.Implementieren von OAuth2 mit Socrata-API
Mein erster Versuch war, die GET-Anfragen in ihrer Dokumentation zu nehmen und versuchen, Antworten durch Postman zu erhalten.
Hier ist ein Beispiel für einen solchen Versuch:
ich auch meine Socrata App Token als param im Abfragezeichenfolgeflag hinzugefügt, aber die gleiche Meldung angezeigt wurde.
Also sage ich mir, ok, vielleicht verwarfen sie GET-Anfragen, ohne den Client durch OAuth2 gehen zu lassen. Wenn sie nicht diese GET-Anfragen verbitten würde, würde ich es vorziehen, nicht mit OAuth2 zu tun zu haben, aber ich begann, den Authentifizierungsprozess Umsetzung und alles lief erfolgreich, bis ich auf die folgenden Anweisungen bekam gefunden here:
Ich habe jeden einzelnen Wert, der in dieser POST-Anfrage enthalten sein muss, mit Ausnahme von 'authorization_type'. Woher kommt das? Ich habe versucht, 'authorization_type' als String zu hinterlassen, erhielt aber eine Antwort ähnlich der Meldung 'Ungültiger Benutzername oder Passwort' im oberen Bild dieser Frage.
Danke für die schnelle Antwort Chris! Ich habe versucht, "X-App-Token": in der Kopfzeile für GET https://data.cityofchicago.org/resource/ydr8-5enu.json ?, aber ich habe immer noch die Authentifizierung Fehlerantwort mit der gleichen Nachricht wie im ersten Bild. Irgendwelche Ideen? –
@AdamFreymiller - Um zu wiederholen, was ich oben gesagt habe, wenn Sie nur 'GET' Anfragen für diese öffentliche Datenmenge machen, müssen Sie keinen' Authorization'-Header hinzufügen. Es hört sich so an, als würden Sie immer noch einen unnötigen 'Authorization'-Header hinzufügen, denn wenn Sie einen' X-App-Token'-Header mit einem ungültigen App-Token einfügen, erhalten Sie stattdessen einen 'Invalid app_token specified' Fehler. – chrismetcalf
Sie sind genau richtig! Ich habe den Authorization-Header entfernt und es funktionierte wie ein Zauber. –