Open jhums opened 1 year ago
Hi,
wenn der API call sollte ein Result object zurueck geben, also so:
res = api_instance.table(username=username, password=password, name=name, area=area, compress=compress, transpose=transpose, startyear=startyear, endyear=endyear, timeslices=timeslices, regionalvariable=regionalvariable, regionalkey=regionalkey, classifyingvariable1=classifyingvariable1, classifyingkey1=classifyingkey1, classifyingvariable2=classifyingvariable2, classifyingkey2=classifyingkey2, classifyingvariable3=classifyingvariable3, classifyingkey3=classifyingkey3, job=job, stand=stand, language=language)
print(res)
Allerdings benoetigt man ein Username und ein Passwort soviel ich weis.
Ich bekomme nur 'None' als Ergebnis. Ein funktionierendes Beispiel wäre womöglich hilfreich.
@wirthual Ich habe dieses Problem ebenfalls mit allen Schnittstellen, die ich ausprobiert habe, obwohl meine Login-Daten über curl einwandfrei funktionieren.
Hi @NiklasPrahl, kannst du den curl command und dein code teilen?
Hi @wirthual,
gerne!
Anfrage:
curl -X GET "https://www-genesis.destatis.de/genesisWS/rest/2020/helloworld/logincheck?username=MEINUSERNAME&password=MEINPASSWORT&language=de"
Aktuelle Beispielantwort:
{"Status":"Sie wurden erfolgreich an- und abgemeldet! Bei mehr als 3 parallelen Requests wurden länger als 15 Minuten laufende Requests beendet.","Username":"MEINUSERNAME"}%
Das scheint also zu funktionieren und in der Regel klappt es auch mit get-requests in Kombination mit JSON-Files.
Hier nun einer der Codeblöcke, die ich testweise gemäß der Dokumentation übernommen und angepasst habe:
import time
from deutschland import destatis
from deutschland.destatis.api import default_api
from pprint import pprint
# Defining the host is optional and defaults to https://www-genesis.destatis.de/genesisWS/rest/2020
# See configuration.py for a list of all supported configuration parameters.
configuration = destatis.Configuration(
host = "https://www-genesis.destatis.de/genesisWS/rest/2020"
)
# Enter a context with an instance of the API client
with destatis.ApiClient() as api_client:
# Create an instance of the API class
api_instance = default_api.DefaultApi(api_client)
username = "MEINUSERNAME" # str
password = "MEINPASSWORT" # str
language = "de" # str | (optional) if omitted the server will use the default value of "de"
# example passing only required values which don't have defaults set
# and optional values
try:
print(api_instance.logincheck(username=username, password=password, language=language))
except destatis.ApiException as e:
print("Exception when calling DefaultApi->logincheck: %s\n" % e)
Die Rückgabe ist immer "None", egal ob ich find, tablefile oder andere Funktionen nutze. Die optionalen Variablen habe ich auch alle testweise einmal gesetzt und meine Beispiele mit JSON und curl gegengeprüft (dort funktioniert das dann wie erwartet). Auch den Wert vorher in eine Variable zu legen bringt nichts. Ich habe mich unmittelbar an der Dokumentation orientiert, bzw. zum testen die Syntax schlussendlich kopiert und nur minimal mit den nötigen Werten angepasst und es klappt trotzdem nicht. Es lädt eine Weile und dann wird wieder "None" zurückgegeben.
Hi, danke fuer die detailiierte Beschreibung. Ich kann das beschriebene Verhalten reproduzieren.
Der code is auto generiert von der Beschreibung. Der openapi generator den wir benutzen ist version 6, es gibt jedoch eine neue Major version 7. Es waere interesant zu sehen if die neue version des generierten Codes hier besser funktioniert.
https://github.com/OpenAPITools/openapi-generator
Ansonsten gibt es hier auch ein Python based generator den es sich lohnt auszuprobieren: https://github.com/openapi-generators/openapi-python-client
` import time from deutschland import destatis from pprint import pprint from deutschland.destatis.api import default_api
with destatis.ApiClient() as api_client:
Create an instance of the API class
` Ok... analog zum Standard konfiguriert - Abfrage geht fehlerfrei durch.
Wahrscheinliche eine dumme Frage, aber wie komme ich an das Ergebnis? :)