首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用蟒蛇拉记录

用蟒蛇拉记录
EN

Stack Overflow用户
提问于 2022-09-23 13:48:04
回答 1查看 22关注 0票数 0

这件事有点麻烦。我知道我必须使用偏移值来提取100多条记录,以下是我目前拥有的:

代码语言:javascript
运行
复制
AIRTABLE_BASE_ID = 'airtablebaseid'
AIRTABLE_API_KEY = 'airtableapikey'
AIRTABLE_TABLE_NAME = 'airtablename'
endpoint = f'https://api.airtable.com/v0/{AIRTABLE_BASE_ID}/{AIRTABLE_TABLE_NAME}?filterByFormula=AND(NOT(%7BSent+to+Payroll%7D+%3D+%22Sent%22)%2CNOT(%7BSent+to+Payroll%7D+%3D+%22Skipped%22))'

def get_airtable():
    headers = {
        "Authorization": f"Bearer {AIRTABLE_API_KEY}"
    }

    response = requests.get(endpoint,  headers=headers)
    return response

recordList = []
recordIDs = []
recordTimeStamp = []

response = get_airtable()
data = response.json()
for record in data['records']:
    recordList.append(record['fields'])
    recordIDs.append(record['id'])
    recordTimeStamp.append(record['createdTime'])
    print(record)
EN

回答 1

Stack Overflow用户

发布于 2022-09-23 14:10:37

Airtable每个请求不能给你超过100条记录,就像你说的那样,它的工作原理是分页和偏移。

在没有offset参数的情况下提出的第一个请求将返回一个有效负载,将offset字段设置为n,您必须将该偏移量传递给您的下一个请求,以获得n下一个记录,等等……

代码语言:javascript
运行
复制
response = get_airtable()
data = response.json()
OFFSET = data['offset'] #not sur if "offset" is at root of the response

endpoint = f'https://api.airtable.com/v0/{AIRTABLE_BASE_ID}/{AIRTABLE_TABLE_NAME}?offset={OFFSET}&filterByFormula=AND(NOT(%7BSent+to+Payroll%7D+%3D+%22Sent%22)%2CNOT(%7BSent+to+Payroll%7D+%3D+%22Skipped%22))'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73828743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档