JSON to Google Sheets

I’m doing an HTTP request (parsing ON) to a REST API, and using IDs stored in Google Sheets, which works as expected.

I then want to populate the Google Sheet with some of the data I get, but I can’t figure out how to assign the data as the path includes an ID.
image

So when parsing the next ID it breaks as it now can’t make a match. Hope it makes sense :crossed_fingers:
I’m hoping somebody knows how I can get around the ID within the path or change it with the ID I’m using.

Thank you in advance

If {{5.data}} is an array, you could probably use the map function to filter out the item that is equal to the value of {{11.steam_appid}}.

See also Mapping: Accessing array’s elements by a key and Extract an item and/or its value from an array of collections video tutorial.

3 Likes

It might be me, but I simply can’t figure this out and it’s breaking my brain.

Tried
I have tried to map {{5.data}} within Set Variable - but it fails as the json isn’t a proper array.

And I tried to convert it to an array, following multiple examples - but simply can’t figure it out.

The json
Is to the Steam Store data (https://store.steampowered.com/api/appdetails?appids=594650&l=english&cc=us)
It’s the appids that would change for each call, but the data seems to be embedded under the appid.

From what I can see all the data is under a Collection in a Collection, in a Collection, in a Collection.
And I simply can’t figure out how to get around that.
I haven’t found any other examples for Make or integromat where the json is created like this.

This was just going to be a quick little fun experiment - but…

You can use the built-in function toArray():

This will allow you to iterate through the array, if there is more than one key,

Screenshot_2023-08-30_080843

, or if there is only one item then you can just do this in a subsequent module without using an iterator:

5 Likes

Thank you so much @samliew. You have really helped me a lot. I truly appreciate it.

I hope it’s okay if I have a couple of last questions.

Limit array output
Is it possible to limit the results of an array or collection to only take the first 5 or 10 results?

Here for example I would like to store the first 5 in the following variable.

Make.com converts if(
If you write if( it will automatically switch to the make.com function. This is a bit problematic when I’m trying to make a Google Sheets formula :slight_smile:
Is it possible to stop make.com from converting it?

Same result no matter the input
I have made an If statement that checks if there is a category with the ID 28 = Fully Supported, if not check if there is one with 18 = Partial support, and if either isn’t there it should write e.g. “No Support”.
But no matter the output is always “Full Supported”, which makes absolutely no sense to me.
image

I have tried with and without “” around the numbers, doesn’t seem to make a difference :confused:
Any idea what am I doing wrong?

In future, you should create a new thread for each question. This makes it easier for others with the same problem to search for the answer. Thank you for your cooperation!

The Make Community guidelines encourages users to try to mark helpful replies as solutions to help keep the Community organized.

This marks the topic as solved, so that:

  • others can save time when catching up with the latest activity here, and
  • allows others to quickly jump to the solution if they come across the same problem

To do this, simply click the checkbox at the bottom of the post:

screenshot

2 Likes