URL mapping not found in HTTP module from previous Iterator

:bullseye: What is your goal?

Upload multiple images to Google Drive from Fillout form

:thinking: What is the problem & what have you tried?

When I try to map the HTTP- download a file module, the url is not found in the previous iterator mapping. When running the scenario, the iterator populates the url in the array. How do I get the HTTP to see the url in the previous iterator?

:link: Create public scenario page

:camera_with_flash: Screenshots (scenario flow, module settings, errors)

Welcome to the Make community!

You are using too many Iterators.

a) Single

If you only have one file upload field in your questions, you can use the map-first functions directly in the HTTP module without any Iterators at all.

b) Multiple

If you have more than one question that are file upload fields, you just need the first Iterator with the map function.

Combining Map & Get (or First) functions to get Values from Arrays

The built-in functions map, get, first (or `last) allows you to access values within an array containing collections.

First, use the map function on an array, which returns another array of filtered values โ€”
map(array; key; [key for filtering]; [csv-values for filtering])

Then, the built-in function get (or first/last) to get a specific, single item from the resulting array โ€”
get(array; path)

You will get something that looks like these โ€”

{{ get(map(array; "value"; "name"; "content-type"); 1) }}
{{ first(map(array; "value"; "name"; "content-type")) }}

Map Function Parameters: Step-by-Step

To easily remember how to use each of the parameters of the map function, think of it this way:

  1. From this array (of collections),
  2. I want to get all the the values for the property/key named _______,
  3. Where another property/key _______
  4. has the exact case-sensitive value _______

Example

1. From this array (of collections) user_column_data

2. I want to get all the the values for the property/key named string_value

3. Where another property/key column_id

4. has the exact case-sensitive value EMAIL

5. Output

e.g.:

{{map(1.submission.questions; "url"; "type"; "FileUpload")}}

:high_voltage: Make Input Markup: Copy-paste the above into the field, including start/end curly brackets for it to import as intended :warning:


For more information, the documentation for the above functions can be found in the Help Centre and the โ€œMapping with Arraysโ€ link below. You should also complete the tutorials in the Make Academy, especially Using get() and map() functions as this is the most important knowledge you need to understand so that you can successfully apply it when building scenarios using Make.

Links & Guides

Here are some useful links and guides you can use to learn more on how to use the Make platform, apps, and app modules. Iโ€™d also recommend going through the Make Academy if you havenโ€™t yet!

Learn Make

How-Tos

โ€” @samliew
P.S.: investing some effort into the tutorials in the Make Academy will save you lots of time and frustration using Make!