2016-11-08 2 views
0

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:

enter image description here

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:

enter image description 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.

enter image description here

Antwort

0

zugreifen Sie nur öffentliche Datensätze aus Chicago Datenportal? Aus Ihrem Screenshot sieht es so aus, als würden Sie versuchen, auf die Building Permits dataset zuzugreifen, die öffentlich ist.

Authentifizierung ist only required for modifying datasets or accessing private data, so dass die Chancen sehr gut sind, müssen Sie nicht einmal authentifizieren. Fügen Sie einfach eine application token mit Ihrer Anfrage für Drosselungszwecke ein.

Wir freuen uns, Ihnen bei der Entwicklung Ihres OAuth-Workflows zu helfen, aber es klingt, als wäre es unnötig.

+0

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? –

+0

@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

+0

Sie sind genau richtig! Ich habe den Authorization-Header entfernt und es funktionierte wie ein Zauber. –

Verwandte Themen