Save the date! Join us on October 16 for our Product Ops launch event. Register here.
Nov 21, 2018 05:30 AM
Hi there,
I have a table that have records of users_email and i wanted to implement a get_by_email method from my server.
I must have missed something because I can’t get the filterByFormula to work…
I’m trying this in python:
payload = {“filterByFormula”: “({EMAIL} = "test@test.fr”)"}
r = requests.get(url, params=payload, headers=headers)
In returns i have this error :
{‘error’: {‘type’: ‘INVALID_FILTER_BY_FORMULA’, ‘message’: ‘The formula for filtering records is invalid: Invalid formula. Please check your formula text.’}}
Can someone help on this please ?
I’m a little lost
Thanks in advance :slightly_smiling_face:
Nov 21, 2018 06:10 AM
Did you URL encode your request?
Nov 21, 2018 08:55 AM
Yes requests does it by itself
Nov 22, 2018 09:17 AM
Only thing I can think of is that you aren’t escaping your double quotes around "test@test.fr." The following works for me:
url = "https://api.airtable.com/v0/appID/tableID"
querystring = {"filterByFormula":"({EMAIL}=\"example@example.com\")"}
headers = {
'Authorization': "Bearer airtableAPIkey",
}
response = requests.get(url, headers=headers, params=querystring)
print(response.text)
Alternatively, you can use single quotes:
querystring = {"filterByFormula":"({EMAIL}='example@example.com')"}