Google Sheets to HTTP. HOW?!

Hello:

I am setting up a Google Sheet that is basically going to be a list a list of URLs in Column A. For Example A1:A200. I currently have one URL on the sheet.

I have set it up in Make to start with Google Sheets Watch New Rowes, and connected it to the HTTP module. I want the URL field (in the http module) to update and pull whatever the newest URL is that is added to my google sheets list. What do I put in the URL box for HTTP module? I have Row Number, Spreadsheet ID, Sheet, or A. It just returns false and blank results. Am I setting this up incorrectly?

Hello @Geova_Media and welcome to the Make Community!

You should probably use A from Google Sheets, map that into the URL field of your HTTP module.
If that is incorrect or doesn’t work, please post more detail (screenshots are helpful) about what you’re trying to do and where it is breaking down.

Let me backup a second and show you what I have so far. I am trying to get a Google Sheet connected (I am also unsure which option to pick if this should be watch rows or should I set up instantly with a webhook? - if so I need to learn how to do that and will look for a tutorial) so that every time I list a new URL in a Google Sheet - for example A2, A3, A4, A5, etc. that URL gets entered into the URL field of the HTTP module.

From that point I have the command working, sort of! I can get the data and I have connected the text parcer. Now, the type of information I am trying to get would be these numbers listed in these URLs in the data after ingram but before the “.jpg”. This is highlighted in the attached screenshot. Ideally, I’d like these to be posted in the same google sheet file but on a different workbook page and have the numbers posted vertical and then per column. So, URL from page 1 cell A4, the string of numbers would be posted back to the same google sheet but on page 2 and in column A rows 1-55 for example.

And finally, I’d like to do this without AI if possible, I just joined make so I am unfamiliar with all of the modules but maybe a tool already exists. Saw a video about trying to use regex101 and a formula to extract those URLs but I think I had the formula wrong.

Any help appreciated!

You may use Google Sheets Watch New Rows as the trigger module.
The scenario will run on a schedule you set and check a specific sheets for new rows since the last time it checked. As long as you add new rows and don’t delete or replace any, this should work for you.

That module will return the entire new row.
One of the columns returned will contain a URL.
That URL needs to pass into HTTP Make a Request so you can download it.
What is this URL, looks like it’s a web site?

If so, yea you could use HTML to text followed by a Text Parser to use a Regular Expression to extract that text. Or you might be able to forgo the HTML to text and go straight to Text Parser. We haven’t seen the site but it doesn’t look too difficult to work with.

Yes it is a website and I think I was able to get the google sheet set up correctly. I added a second URL on my google sheet and connected the module, reran the function in make and it pulled the most recent URL and I was successfully able to get it to text parcer and see the data. I am, however, unsure what to do though at this point. Which tool would be the best? I am just trying to capture only these numbers after 'ingram/" see image below after every URL listed in the data and send back to the google sheet on the next workbook/tab.

You could use a Text Parser Match Pattern module.
It can help you find all instances of that number. You can use AI to help develop a regex and test it at RegEx101.com or similar service.

1 Like

I’ve gotten match pattern successfully to pull just the data I want. One thing I can’t seem to locate on Make is where or how to add a remove duplicates module at this stage? Is there a module? Although there are 47 “bundles” (or numbers), how do I keep only the unique values (numbers) before sending them to Google Sheets?

You would follow match pattern with an Array Aggregator which will output a simple array of matches.
Then, after the array aggregator, you can use the deduplicate() function which should result in an array of unique matches.

1 Like

I got the matches in the array aggregator, You can see this in the screen shot; whereas 1 and 7 are duplicates. Where do I find how to construct the deduplicate function? From other support posts I am guessing this is a filter? Which is applied before the next module? Would my next module in sequence be Iterator and then back to Google Sheets? Google Sheets is the endpoint (although I am not quite sure which GS function I should select if I want this data reported in columns, each cell a number; A2, A3, A4, etc.)

Deduplicate is a function that you run on an array and the output is an array containing the unique elements of the input array. It’s a function, not a separate module, so you can use it anywhere that accepts input, in any module.

If Google Sheets is the destination for this unique data, then you can try using an Iterator (your deduplicate function would go in the Array box), followed by an Array Aggregator so that the Array Aggregator can format the data correctly for the next module, Google Sheets Bulk Add Rows (Advanced) or similar.

Might look something like this:

Here’s the Iterator:

In the Aggregator, select the Rows data structure from the Google Sheets module:

In the Google Sheets module, map the output of the Array Aggregator to the Rows field:

1 Like

Thanks for taking the time to walk me through. This was my first time using Make. It’s cool.

Good news, I was able to send the data to my Google Sheet where I wanted it to go.

Bad news, I couldn’t seem to figure out where the deduplicate function goes. I tried to do this a few ways and it would just return empty data each time. I don’t know if it had something to do with because I selected match pattern for the data? But, I selected aggregate and I also selected the pattern (symbol of the line), but it would just return 0 or empty.

However, with the click of two buttons in GS, it will remove all the duplicates in the data so I can live with that if I have to.

Here is my data output in the array aggregator:

Match Pattern outputs a bundle for each match.
You use an Array Aggregator on that to combine all the matches into a single array.
Then you use an Iterator on that Array (this would correspond to my Iterator #93 in my example), then another Array Aggregator for Google Sheets.

Essentially you’d need an Array Aggregator and Iterator between your modules match pattern #15 and Array aggregator #17.

match pattern (#15) → Array Aggregator (new) → Iterator (new) → Array aggregator (#17)

2 Likes

I got it now! It now pulls no duplicates! All I have left is to take out my hardcoded data and reconnect on the front end. Thanks for walking me through it!

1 Like