Change appgyver auth avatar

That’s what I did and I still get a blank error alert

Weird, what’s your app ID?


The screen inn question is the “HomeScreen”

Hi, can you double check the ID? I wasn’t able to get access

Oops I sent the wrong one.
here’s the correct appID 190847

Hi, for the safety of your personal information we’re introducing a new process for granting access to applications.

Could you send us an email with the following template so we can verify you as the owner of the app and get access?

Subject line: Grant support access to app

App name: [insert the name of your app here]
App ID: [insert your App ID here, found in Composer URL]
App owner ID: [insert your User ID here, found under Account]
App owner email: [insert the email address associated with your AppGyver account here]
Notes: [link to related forum thread, instructions for support, etc.]

Thanks! :slight_smile:

1 Like

Done. I’ve just sent the email with all required information.

Hi, sorry for the delay! I got access to your app but can’t see the Get bucket download URLs flow on the canvas, did you remove it? @lincoln_mudau

No I did not delete. It’s under the data variables logic, I attached a screenshot below

and the get upload is under the “Pencil-icon” logic in the user profile

Hello @Mari , I was checking if you managed to find out what might be wrong with that function because I also tried it on a new project but I still get the same error. Thanks

Hi, there aren’t any known issues with the function, so I think the issue might be related to the node being located on a different logic canvas :thinking: Here’s a working example from one of my apps, I use the output files of Upload files directly in Get bucket download URLs:

Thank you, let me try this. Do you mind also sending the inputs to those components or is everything the same as the power up?

Although on the power up, it was different from yours.

Yeah, the inputs are:

Get upload URLs: [outputs["Pick image from library"].imageFile]
Upload files: outputs["Get bucket upload URLs"].files
Get download URLs: outputs["Upload files"].files

From your logic flow above, it’s not necessary to have a create record to store the storageKey permanently in S3?

Hi, S3 will recognize the storageKey once you’ve created it using Upload files. However, you’ll want to use a Create Record flow to save the storageKey in your own database so you can fetch the image when the app starts up again. In my logic flow, I’m saving the key first to a page variable, that gets created as a record after another button is tapped, that’s why there is no Create Record flow on this canvas.

Thanks for helping Mari. I’ll update you if it works and sorry for asking a lot of questions. Quick question, what value do I assigned to the app variable?

No worries! Which app variable are you referring to? If you mean the storageKey, you get it with outputs["Get bucket upload URLs"].files[0].storageKey if it’s a single image that you’re uploading.

Hi Mari… so I managed to upload the storageKey in my database(as shown in the picture below). Now how do I get the picture to display? I tried to link the image componet to the field which contains the storageKey but doesnt work

The scheme for the storageKey is called "attachment’’

Cool! To get the download URL that you can then use to display the image in the component, use Get bucket download URLs flow function. The input for that has to be a list of objects with a storageKey property:

[{storageKey: ...}, {storageKey: ...}]

So if you have an attachment with a storage key field, you can use a formula to replace “…” with your storage key, e.g. with current.attachment.

If you have several storageKeys you need download URLs for in a list type data variable and the storageKey is in the attachment field, you can use MAP(data.myList, {storageKey: item.attachment}) in a Get bucket download URLs node on the page logic canvas to get URLs for all images at once.

Where do I put the “Get bucket download URLs” ? I placed it exactly as you did in that example that you sent to me but the difference is that pictures are uploaded on a different page and displayed on another page. I’m not really good in English so most of the instruction aren’t quite clear to me, my apologies.