API Request geht nicht?
Ich verstehe nicht ganz warum meine Anfrage immer nur mit einer Standard-Antwort (paar random Lebensmittel) beantwortet wird. Kann jemand erfahrenes mir weiterhelfen?
Die Dokumentation hilft mir gerade gar nicht weiter.
https://openfoodfacts.github.io/openfoodfacts-server/api/ref-v2/#get-/api/v2/search
import requests, requests.utils
import os
product = input("Wie heißt das Produkt? ")
encoded_product = requests.utils.quote(product)
url = f"https://world.openfoodfacts.org/api/v2/search?product_name=fuze+tea&fields=product_name"
response = requests.get(url)
with open("response.json", "w") as file:
file.write(response.text)
print(response.json())
3 Antworten
input("Wie heißt das Produkt? ")
Mit dieser Anfrage kann die Datenbank natürlich nicht viel anfangen
Es müsste sicherlich eine sinnvollere Eingabe gemacht werden
Und wie du bei deinem Link ja siehst:
https://world.openfoodfacts.org/api/v2/search?product_name=fuze+tea&fields=product_name
Gibt es 20 Seiten mit max 20 Einträgen
D.h. ca 400 Produkte, paar random Lebensmittel sind das also nicht
Streng dich mehr an :)
import requests, requests.utils
(das ist eine Variation).
url = f" https://world.openfoodfacts.org/api/v2/search?product_name=fuze+tea&fields=product_name"
(das ist ein festgesetzer Produktname)
Klick?
Deine Eingabe über input() wird nicht verwendet. Die Anfrage über DEIN get() beinhaltet einen hard-coded String, sodass eigentlich klar sein sollte, dass da immer nicht das zurück kommt, was du erwartest - bzw. immer das gleiche.
Probiere es mit der Pokemon-API. Die ID des Pokemon ist ein Integer. Wenn du die Funktionsweise verinnerlicht und deine URL parametrisiert hast, kannst du dich erneut an diese Essens-API ranmachen.
Ich weiß das Input nicht verwendet wird. Es funktioniert ja trotzdem grundsätzlich nicht
Du hast die API wohl genauso gut gelesen wie unsere Antworten.
Daten mit dem Barcode
https://world.openfoodfacts.org/api/v3/product/5449000232304.json
Request über /search und bestimme Felder anzeigen
https://world.openfoodfacts.org/api/v2/search?code=6175700&fields=code,product_name,code,id
Oder /search für einen bestimmten Barcode
https://world.openfoodfacts.org/api/v2/search?code=5449000232304
Oder /product mit dem Barcode als Schlüsselwert
https://world.openfoodfacts.org/api/v2/product/3017624010701?fields=product_name,nutriscore_data
Oder mehrere Produkte über /seach
https://world.openfoodfacts.org/api/v2/search?code=3017624010701,5449000232304
Achte auf die API-Version (v2/v3) - wobei v3 noch in Entwicklung ist.
Lesen, nicht nur überfliegen.
Hättest du mal auf die Benennung geschaut würdest du sehen, dass die absolut nichts mit dem gesuchten Produkt zutun haben