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 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) { if (response.records.length === 0) {
return [] return []
} }
@@ -283,7 +283,7 @@ class AirtableLoader extends BaseDocumentLoader {
let returnPages: AirtableLoaderPage[] = [] let returnPages: AirtableLoaderPage[] = []
do { 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) returnPages.push(...response.records)
data.offset = response.offset data.offset = response.offset
} while (response.offset !== undefined) } while (response.offset !== undefined)