У меня есть список с более чем 1000 идентификаторами, и я хочу вызвать API с разными конечными точками для каждого элемента списка. Пример:
customerlist = [803818, 803808, 803803,803738,803730]
Я попробовал следующее:
import json
import requests
import pandas as pd
API_BASEURL = "https://exampleurl.com/"
API_TOKEN = "abc"
HEADERS = {'content-type' : 'application/json',
'Authorization': API_TOKEN }
def get_data(endpoint):
for i in customerlist:
api_endpoint = endpoint
params = {'customerid' : i}
response = requests.get(f"{API_BASEURL}/{api_endpoint}",
params = params,
headers = HEADERS)
if response.status_code == 200:
res = json.loads(response.text)
else:
raise Exception(f'API error with status code {response.status_code}')
res= pd.DataFrame([res])
return res
get_data(endpointexample)
Это работает, но возвращает только значения для первого элемента списка (803818). Я хочу, чтобы функция возвращала значения для каждого идентификатора из списка клиентов для конечной точки, которую я определил в аргументе функции.
Я нашел этот - возможно связанный - вопрос, но я не мог понятьмоя проблема решена.
Вероятно, есть простое решение для этого, которого я не вижу, так как я только начинаю с Python. Спасибо.