Как получить более 100 строк с помощью Airtable API с помощью offest? - PullRequest
0 голосов
/ 30 мая 2020

Я действительно новичок в Airtable API, и по какой-то причине подключение API таким образом не сработало.

at = airtable.Airtable('Base_Key', 'Airtable_Key')

Но у меня это работает вот так -

get_url = ‘https://api.airtable.com/v0/BASE_ID/TABLE_NAME’
get_headers = {
‘Authorization’: ‘Bearer API_KEY’ }

Response = requests.get(get_url, headers=get_headers)
Response_Table = Response.json()

Однако это извлекает только первые 100 записей, и я читаю о смещении и разбиении на страницы, но я не могу понять, как включить это в этот код.

Спасибо за время!

1 Ответ

0 голосов
/ 30 мая 2020

После множества проблем я нашел это решение. Отправка для всех, кто сталкивается с такой же проблемой.

global offset
offset = '0'
result = []

while True :
    url = "https://api.airtable.com/v0/BASE_ID/TABLE_NAME"
    querystring = {
        "view":"Published View",
        "api_key":"YOUR_KEY",
        "offset": offset}

    try :
        response= requests.get(url, params=querystring)
        response_Table = response.json()
        records = list(response_Table['records'])
        result.append(records)
        #print(records[0]['id'] , len(records))

        try : 
            offset = response_Table['offset']
            #print(offset)

        except Exception as ex:
            #print(ex , offset)
            break

    except error as e:
        print(e)
...