May 04, 2021 03:15 AM
I’m trying to use scripting to call APITemplate.io to create a PDF file from some data. The fetch is failing. It works from Postman so I know the call is valid. I’ve taken the exact code from the Airtable script and run it locally in node.js - with the addition of npm install node-fetch
and some top-level async
function syntax so I can await
, and that works fine too. So there’s something about calling the code from within an Airtable script that makes it return with a 303 error. Unfortunately I can’t find any logging at apitemplate.io to help me. Anyone have any ideas as to what I can look at?
let url = "https://api.apitemplate.io/v1/create?template_id=<id>";
let headers = {
"X-API-KEY": "<apikey>",
"Content-Type": "application/json"
};
let body = {content: "data"};
let response = await fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(body)
});
let result = await response.json();
console.log(`download result from : ${result}`);
May 04, 2021 05:07 AM
You need to be more specific if you want to get some help. Why is it failing? Screenshot maybe?
Yes, first switch to Autocode; it has a fully-baked logging system.
Then, read the Airtable SDK docs concerning remoteFetchAsync.
May 04, 2021 05:17 AM
Well, as I said it’s failing with a 303 error. There’s not much more to it than that:
ERROR
TypeError: Response status was 303 'See Other' but redirect mode was set to 'error'
at main on line 26
Autocode is new to me and looks interesting. Trouble is, I’ve got this script working for other APIs - it’s this one to apitemplate.io that’s failing, and I wanted to see if anyone had already done this successfully.
Yes, I’ve read the docs relating to remoteFetchAsync but my understanding was that that was for apps. This is an automation. I’m new to Airtable … have I misunderstood the distinction here??
May 04, 2021 07:53 AM
Um, no. I was not informed that your script was an action script.
Actually, the trouble is with apitemplate.io - it doesn’t allow you insights to easily debug the issue when using their platform. Autocode does. And since you have it working with other APIs, if you want to stay with apitemplate.io, this is really a support question for them, right?
May 06, 2021 12:07 PM
Turns out the issue was that apitemplate.io requires redirect in the http fetch, which airtable doesn’t support (and which I should have realised from the error message). I’m going via an AWS lambda middle layer - for various reasons this isn’t as overkill as it sounds and will work out fine.
May 15, 2021 08:18 PM
Wow, this feels like discovering Glitch all over again. I probably should have been aware of such a powerful resource already but I’m just glad I am now, thanks for the link.