When you switch from GET to POST, you're supposed to adjust the Airtable URL to use the /listRecords endpoint. I didn't RTFM clearly. This is currently documented here: https://support.airtable.com/docs/enforcement-of-url-length-limit-for-web-api-requests

This commit is contained in:
Darien Kindlund
2024-01-26 15:03:30 -05:00
committed by Darien Kindlund
parent 456dfabc6f
commit 3b788e42e1
@@ -262,7 +262,7 @@ class AirtableLoader extends BaseDocumentLoader {
data.fields = this.fields
}
const response = await this.fetchAirtableData(`https://api.airtable.com/v0/${this.baseId}/${this.tableId}`, data)
const response = await this.fetchAirtableData(`https://api.airtable.com/v0/${this.baseId}/${this.tableId}/listRecords`, data)
if (response.records.length === 0) {
return []
}
@@ -283,7 +283,7 @@ class AirtableLoader extends BaseDocumentLoader {
let returnPages: AirtableLoaderPage[] = []
do {
response = await this.fetchAirtableData(`https://api.airtable.com/v0/${this.baseId}/${this.tableId}`, data)
response = await this.fetchAirtableData(`https://api.airtable.com/v0/${this.baseId}/${this.tableId}/listRecords`, data)
returnPages.push(...response.records)
data.offset = response.offset
} while (response.offset !== undefined)